所以我有活动 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) 中重新启动应用程序
在活动 CI 中的 onCreate(not null) 中执行以下操作:
if (A==null or B==null)
finish;
return;
然后在活动 B 中也是如此。这有效,C 和 B 完成,A 弹出..但与此同时......
在调用 C onDestroy 之前触发片段 onCreate && onCreateView。因为我在活动 C 中有很多片段,所以这会导致应用程序崩溃。
所以,我的问题是。在这种情况下,有没有办法在活动 C onCreate (非空)(甚至在 C onCreate; 清单之外?)中强制应用程序重新启动,以便不调用片段 onCreate 和 onCreateView?
PS:我已经在清单中尝试了 clearTaskonLaunch ,但是即使我只是暂停/恢复屏幕,这也会强制应用程序重新启动。
任何的意见都将会有帮助