你如何带回被破坏的活动?

时间:2014-06-09 16:13:09

标签: android android-intent android-activity intentfilter

我有一个启动活动A的应用程序。然后用户可以从活动A启动服务S.当某个事件发生时,服务S启动活动B.活动B只有一个按钮,当按下时,应该返回活动A.除了使用后退键关闭活动A时,一切正常。按下后退键时,将调用onDestroy而不是onPause。因此,当活动B被解雇时,我会被发送回主页而不是活动A.所以我的问题是,如果活动A是onPause,我怎样才能确保活动B重新打开活动A,并且当它&#重新打开活动A. 39;已经调用了onDestroy。我正在考虑使用意图过滤器,但我无法找到合适的组合。我不想要活动A的多个实例。感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

关于活动A:

public void onBackPressed() {
    moveTaskToBack(true);
}

或在活动B上,强制它启动活动A,

public void onBackPressed() {
    Intent i = new Intent(B.this, A.class);
    startactivity(i);
}

但是既然你实现了第一个, 你不需要这个最后的代码。

我希望它有所帮助

答案 1 :(得分:0)

由于您不需要保存 A 状态, 您可以覆盖 B 中的onBackPressed() method以再次启动 A 。 如果您不想要 A 的多个实例,请在启动 B 时使用FLAG_ACTIVITY_CLEAR_TOP

希望这有帮助