在我的应用程序中,我具有以下结构:
活动 A 调用活动 B,并完成,将自己从堆栈中移除;活动 B 从活动 A 接收到一个意图,该意图指定要执行的某些操作,当执行这些操作时,用户将看到一条指示它的消息(仍在活动 B 中)。如果用户按下主页按钮,应用程序将进入后台,打电话"onPause"
,然后"onStop"
。一切都按预期工作。
问题是,如果用户将应用程序留在后台几个小时,并尝试再次打开应用程序(几个小时后) ,则onCreate
活动 B 中的方法将被调用,其意图与几小时前从活动A。
(如果用户几分钟后返回应用程序,他会看到活动 B,就像他离开时一样)
我想要的是,在这种情况下,我的应用程序将打开活动 A 而不是活动 B 或活动 B,但在用户离开时屏幕上显示的消息。
查看活动生命周期,似乎应用程序正在被操作系统杀死,所有这些都是有道理的,我真正不明白的是为什么活动 B 以与onCreate
以前相同的方法和意图打开。