4

我的 android Application 中有三个活动类。第一个活动必须将意图传递给第二个活动,第三个活动必须将意图传递给第二个活动。在这种情况下,我如何在同一个活动中处理两个意图。我想我应该使用 if,else 条件。但我怀疑是否有某种技术可以在单个活动中处理多个意图?

4

3 回答 3

1

只是一个简单的 if else 条件:

if (intent.getStringExtra("com.example.ActivityOne.intentOne") != null) {
   // do something
} else if (intent.getStringExtra("com.example.ActivityThree.intentThree") != null) {
   // do something else
}
于 2013-10-24T12:58:41.150 回答
1

使用startActivityForResult()onActivityResult()。这是你的解决方案。

于 2013-10-24T12:57:51.160 回答
1

如果您只是想知道Activity当前发布的Intent内容以知道会发生什么extras或知道该做什么,我有时会使用任意的String extra并检查那是什么。所以在发送类似的Activity东西

Intent i = new Intent(FirstActivity.this, NextActivtiy.class);
i.putExtra("source", "first");  // source is the string to check where it is coming from
startActivity(i);

然后在接收Activity

Intent intent = getIntent();
String from = intent.getStringExtra("source");
if ("first".equals(from))
{
     // do stuff if from first Activity
}
else
{
     // do other stuff
}

检查 extras 是否不为空

 if (intent.getExtras() != null) {
    String from = intent.getStringExtra("source");
    if ("first".equals(from)){
        // do stuff if from first Activity
    }
    else {
        // do other stuff
    }
}
于 2013-10-24T13:06:54.987 回答