如何区分当前意图来自哪个活动

时间:2013-07-06 06:52:27

标签: android android-intent

表格活动登录我致电

Intent intent=new Intent(LogIn.this,BRInfoActivity.class);

来自活动BrActivityList我致电

Intent intent=new Intent(BRActiviList.this, BRInfoActivity.class);
intent.putExtra("BRinfo", objBR);

现在在BRInfoActivityList

Intent i = getIntent();
BrInfoEN objBR=(BrInfoEN)i.getSerializableExtra("BRinfo");

现在我想要if(intent == BrActivityList)上面的最后两行执行否则不行。怎么做?

3 个答案:

答案 0 :(得分:4)

如果您将开始活动 startActivityForResult()。 然后,您可以使用getCallingActivity()来获取来电。

答案 1 :(得分:3)

表单活动登录调用此 -

Intent intent=new Intent(LogIn.this,BRInfoActivity.class);
intent.putExtra("call_from","ActivityClass");

来自活动BrActivityList调用 -

Intent intent=new Intent(BRActiviList.this, BRInfoActivity.class);
intent.putExtra("call_from", "BRActivity");

现在,当你得到意图时,比较一个if-else块中的“call_from”字符串!就是这样!

答案 2 :(得分:1)

这可以帮助你......

新意图是onNewIntent(Intent)的一部分。原始意图仍可通过getIntent()获得。

您将所需的任何代码放入onNewIntent,以便使用新参数更新UI;可能与您在onCreate中所做的类似。

此外,您可能希望在setIntent(intent)中致电onNewIntent,以确保以后对活动生命周期内getIntent()的调用获取最新的Intent数据。