我的问题很简单:如果存在一个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);
答案 0 :(得分:0)
getIntent()是更大链的一部分。它将返回已发送的ENTIRE意图。
您可以使用getIntent()。getExtras()。getString(“TheOriginatingClass”);
来检索调用类。编辑:好的,上次我编辑这个...我太累了,需要在这之后去睡觉哈哈... 在发送的intent中,有一个原始类和被调用的类(Class1和Class2)。当您使用Class1发送的intent时,您实际上尝试使用调用Class2的相同意图调用Class1。你需要创建一个新的意图,如果你需要原始类(Class1),你可以通过我上面描述的链获得它。
注意:我忘了添加你需要将classname作为一个字符串添加到从Class1调用的intent中。 AFAIK没有直接的方法来找出调用类是什么。不过我可能错了。
-OR -
如果您使用的是int(就像您的示例中那样),您可以使用startActivityForResult(Intent,int) http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)
答案 1 :(得分:0)
如果我们使用startActivityForResult方法,并在onActivityResult方法上检测返回的结果,那么这就行了。