我的应用程序有一个主活动A,它在活动B上执行StartActivity。如果有人使用任务杀手(例如,高级任务杀手),应用程序将被杀死,但当他们再次运行应用程序时,我看到正在生成应用程序对象(调用oncreate),然后它直接进入活动B而不是活动A。清单A是启动程序活动。
如果我运行a,然后运行activity b,调出通知列表并运行task killer来终止我的应用程序,然后按back键,它将创建application对象,然后运行activity b对象,我也会看到这个场景。
对如何防止这种行为有什么想法吗?活动B假设活动A已经运行。我可以取消此操作,但在活动a上设置的应用程序对象中有一个布尔值。在活动b oncreate中,如果未设置该全局标志,则执行finish()。一定是更好的方法来处理这件事,因为我有很多活动,将经历相同的行为。
最佳答案
活动B几乎不应该假设任何其他活动已经运行。活动应该是独立的单元。如果b必须依赖于a,那么应该对一个先决条件进行一些测试,如果失败,则通过intent打开activitya。
关于android - 任务杀手未重置堆栈,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4381651/