Android 安卓如何检测父活动在活动堆栈中是否仍处于活动状态,然后收回它

Android 安卓如何检测父活动在活动堆栈中是否仍处于活动状态,然后收回它,android,Android,我的活动顺序为活动A调用活动B,当我在活动B上时,我按下Home按钮并启动另一个应用程序,例如Map。如果我在第二个应用程序上停留了很长时间,比如说5-10分钟,然后再次按下Home按钮并选择再次启动我的应用程序,那么活动B将再次启动并正常工作。但当我按下后退键时,我会再次返回到我的活动A,这也是正确的,但它会显示一个空白屏幕。理想情况下,在正确的版本中,它应该向我显示一个包含XML数据的活动,即ListView表单 或者,在上面的描述中,当另一个地图应用程序启动时,如果用户仅停留在上面1-2分

我的活动顺序为活动A调用活动B,当我在活动B上时,我按下Home按钮并启动另一个应用程序,例如Map。如果我在第二个应用程序上停留了很长时间,比如说5-10分钟,然后再次按下Home按钮并选择再次启动我的应用程序,那么活动B将再次启动并正常工作。但当我按下后退键时,我会再次返回到我的活动A,这也是正确的,但它会显示一个空白屏幕。理想情况下,在正确的版本中,它应该向我显示一个包含XML数据的活动,即ListView表单

或者,在上面的描述中,当另一个地图应用程序启动时,如果用户仅停留在上面1-2分钟,则上述问题不会发生

有人能提出同样的解决方案吗。 我是否需要在活动B中检查活动A是否仍在活动堆栈中?我如何执行相同操作?如果它不在我的活动堆栈中,则重新创建它


我试着在我的Android清单文件中为活动A创建AlwaysReliationAskstate。但它根本不起作用。

你不必这样做,Android会为你解决技术问题-它会重新创建你的活动A

您只需要记住在打开B时保存A的状态,请查看Activity.onSaveInstanceState。重新启动时,保存的状态将传递给onCreate

你真的应该读一读

应该有帮助