0

我有两个活动,A 和 B。这是一个正常的场景:A 正在运行,然后向 B 发送意图。A 暂停,B 显示。当用户从 B 按下返回按钮时,B 被破坏,用户返回到 A。

但是,存在 B 需要重新创建自身的情况。为此,我打电话finish(),然后startActivity()在 B 上,效果很好。但是,当我单击后退按钮时,它再次显示 B,因此我需要再次单击后退按钮才能返回 A。

如何重新启动 B,但仍然只能按一次返回按钮返回 A?

4

2 回答 2

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
}
于 2012-10-25T17:47:41.313 回答
1

这可以通过仔细查看您的意图标志来解决。查看http://developer.android.com/reference/android/content/Intent.html,它们会提供有关您所追求的生命周期的更多信息。

另外,不要忘记您可以覆盖后退按钮功能。如果您想更密切地管理您的生命周期,这可能会有所帮助。例如,如果从 B 返回,您还可以确保返回 A。如果返回 A,则关闭您的应用程序。

于 2012-10-25T17:46:57.943 回答