如何在Android中找到Intent源?

AKh*_*AKh 36 android resolution android-intent

可能重复:
Android:如何获取Intent的发件人?

在android中有没有办法找到触发INTENT(在目标活动中)的源活动?

场景是我有两个活动A和B.两者都激活了调用活动C的意图.活动C根据其来源显示额外信息.例如.如果呼叫来自A,则C仅显示2个文本视图,而在B触发的意图的情况下,活动C显示3个文本视图(基本上更多信息基于谁是呼叫者).

为了确定这一点,我需要知道是谁解雇了调用C的意图.我该怎么做呢?

Rom*_*Guy 27

更好的方法是使用Intent extras将参数传递给接收器.


Jus*_*tin 26

如果我们查看Intent.java类,我们可以看到仅包含成员

private String mAction;
private Uri mData;
private String mType;
private String mPackage;
private ComponentName mComponent;
private int mFlags;
private HashSet<String> mCategories;
private Bundle mExtras;
Run Code Online (Sandbox Code Playgroud)

我不认为这些成员中的任何成员都包含发件人信息,因此对问题的回答是否定的.您无法为任意意图执行此操作.


Som*_*ent 17

这可能被认为是一种解决方法吗?

有A和B来startActivityForResult代替startActivity,然后你可以打电话getCallingActivity().getClassName()来检索来源.


归档时间:

查看次数:

26684 次

最近记录:

13 年 前