我有两个活动,A和B.这是一个正常的场景:A正在运行,然后向B发送意图.A暂停,B显示。当用户从B按下后退按钮时,B我们被销毁并且用户返回到A。
然而,有一种情况是B需要重新创建自己。为此,我在B上调用finish()
然后调用startActivity()
,这样可以正常工作。但是,当我点击后退按钮时,它再次显示B,所以我需要再次单击后退按钮才能返回A.
如何重新启动B,但仍然只能按一下后退按钮才能返回A?
答案 0 :(得分:3)
以下将在启动下一个意图时处理当前活动:
Intent launchNext = new Intent(getApplicationContext(), NextActivity.class);
launchNext.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(launchNext);
要覆盖后退按钮,请使用以下命令:
@Override
public void onBackPressed() {
super.onBackPressed();
this.finish(); // or do something else
}
答案 1 :(得分:1)
这可以通过仔细查看您的意图标志来解决。查看http://developer.android.com/reference/android/content/Intent.html,他们会提供有关您拍摄生命周期的更多信息。
另外,不要忘记您可以覆盖后退按钮功能。 如果您想更密切地管理生命周期,这可能会有所帮助。 例如,如果从B回来,您还可以确保返回A。如果回到A,请关闭您的应用。