Android:获取意图并将其重新路由到另一个类

问题描述 投票:1回答:2

我的问题很简单:如果存在一个intent对象,我只想使用它并添加putExtra()然后再返回startActivity。但是,我不知道该怎么做。任何帮助表示赞赏。

Intent intent;
if(getIntent() != null) {
    intent = getIntent();
    //reroute to BarActivity class
} else {//this part is fine
    intent = new Intent(FooActivity.this, BarActivity.class);
}
intent.putExtra("cardHP", "100");
startActivity(intent);
android android-intent
2个回答
0
投票

getIntent()是更大链的一部分。它将返回已发送的ENTIRE意图。

您可以使用getIntent()。getExtras()。getString(“TheOriginatingClass”);来检索调用类。

编辑:确定上次我编辑这个...我太累了,需要在这个大声笑之后再去睡觉...在发送的意图中,有原始类和被调用的类(Class1和Class2) )。当您使用Class1发送的intent时,您实际上尝试使用调用Class2的相同意图调用Class1。你需要创建一个新的意图,如果你需要原始类(Class1),你可以通过我上面描述的链获得它。

注意:我忘了添加你需要将classname作为一个字符串添加到从Class1调用的intent中。 AFAIK没有直接的方法来找出调用类是什么。我可能错了。

-要么-

如果你使用的是int(就像在你的例子中那样)你可以使用startActivityForResult(Intent,int)http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)


0
投票

如果我们使用startActivityForResult方法,并在onActivityResult方法上检测返回的结果,那么这是有效的。

© www.soinside.com 2019 - 2024. All rights reserved.