我的使用情况如下:安卓:尽管在之前的活动调用完成()获取意向书
在活动AI电话:
startActivity(B);
finish();
现在活动的BI的onCreate需要知道的活动,启动B,所以我不知道,如果在活动BI通话的onCreate(...):
getIntent();
会我甚至能够得到那个开始活动B的意图或将getIntent()在这一点上已经retur n null,因为我在调用startActivity(B)之后立即完成了Activity A?
我的使用情况如下:安卓:尽管在之前的活动调用完成()获取意向书
在活动AI电话:
startActivity(B);
finish();
现在活动的BI的onCreate需要知道的活动,启动B,所以我不知道,如果在活动BI通话的onCreate(...):
getIntent();
会我甚至能够得到那个开始活动B的意图或将getIntent()在这一点上已经retur n null,因为我在调用startActivity(B)之后立即完成了Activity A?
这里
Intent intent = new Intent(A.this, B.class);
intent.putExtra("activityStarted", "A");
和在活动B
String started = getIntent().getExtras().getString("activityStarted");
与OP的第一条评论相同,但是最简单的解决方案。 – 2012-04-04 06:51:50
+1已接受,谢谢 - 该工作。 – AgentKnopf 2012-04-04 10:23:08
在第一活动中使用以下代码来启动新活动和重启方法()来完成活动::
Intent intent = new Intent(ThisActivity.this, NextActivity.class);
intent.putExtra("Key", "Value");
startActivity(intent);
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
finish();
}
第二活动::
String started = getIntent().getStringExtras("Key");
感谢您的回答 - 但是在onRestart中调用finish()的目的是什么?这不是很危险吗? – AgentKnopf 2012-04-04 10:22:48
做到了这一点,因为你想完成当前的活动。所以我做完了你从活动中返回并且不危险 – 2012-04-04 10:37:10
谢谢Agarwal Shankar,它对我的菜单系统很有用 – 2015-05-31 17:18:20
您可以通过caliing传递活动名称intent.putExtra(“AvtiVityName”,“Activity A”) – Nishant 2012-04-04 06:41:59
不值得尝试一下吗? lol – Snicolas 2012-04-04 06:44:23
@Nishant:谢谢,我会给你一个 – AgentKnopf 2012-04-04 06:46:16