【发布时间】:2013-03-09 16:27:12
【问题描述】:
所以我有活动 A、B、C 应用流程为 A->B->C
A、B 与登录功能相关联,仅启动一次即可登录。 整个应用程序都在 C Activity 中。当用户使用 C 时,A、B 仍然存在。一切正常。
现在..
我杀死了应用程序的 PID。然后从任务管理器中选择它。
A 未启动,B 未启动,C->onCreate(not null) 触发。
我可以通过检查是否存在 A 或 B 的实例来检测这种情况。 所以现在我知道这种特殊情况已经发生了,我想重新启动应用程序 -> 到活动 A,所以它是一个全新的启动。
问题是在 onCraete(not null) 中重启应用
在活动 C 中的 onCreate(not null) 中我做了这样的事情:
if (A==null or B==null)
finish;
return;
然后在活动 B 中也是如此。这有效,C 和 B 完成,A 弹出.. 但是在此期间...
fragments onCreate && onCreateView 在调用 C onDestroy 之前触发。因为我在活动 C 中有很多片段,这会导致应用程序崩溃。
所以,我的问题是。在这种情况下,有没有办法在活动 C onCreate(不为 null)(甚至在 C onCreate; 清单中?)中强制应用重启,以便不调用片段 onCreate 和 onCreateView?
P.S:我已经在 manifest 中尝试了 clearTaskonLaunch,但这会强制应用重启,即使我只是暂停/恢复屏幕。
任何建议都会有所帮助
【问题讨论】:
标签: android android-fragments android-activity android-lifecycle activity-lifecycle