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