如何在android中的单个活动中处理多个意图?

时间:2013-10-24 12:55:07

标签: android android-layout android-intent android-activity intentservice

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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
}

答案 2 :(得分: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
}

检查额外内容是否为空

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