singleTask活动不再可用

时间:2013-10-25 09:56:42

标签: android android-intent

我有一个应用程序启动到Activity'A',其中: - 首次发布时,'A'将启动'B',然后是我的singleTask Activity'C' - 在后续发布时,'A'检查Activity'C'上的静态标记,然后触发意图恢复我的singleTask Activity'C'。

我遇到了一个问题,即非常偶然地重新启动'A'时它会把我带到'B'而不是'C'。我已将大量日志消息放入我的Activity'C'方法中(在调用任何finish()onStoponDestroyonPause,{{之前希望找到'C'不再存在的时刻......但没有任何东西在记录。我能想到的唯一可能的原因是我引用了来自onDestroy'C'的第三方库,它可能会遇到错误而不会传回我的应用程序。可能是这种情况吗?

2 个答案:

答案 0 :(得分:0)

您可以使用

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);

答案 1 :(得分:0)

Android可以随时终止您的进程(当它不在前台时)。您可能正在看到的正是这样。您已经启动了应用程序,ActivityA已经启动了已启动ActivityC的ActivityB。现在用户去做其他事情(比如打个电话或玩愤怒的小鸟)。之后,他返回到您的应用程序(但是您的应用程序的进程在后台处理时被终止)。 Android为您的应用程序创建一个新进程,并创建一个活动A的新实例.ActivityA检查ActivityC中的静态变量,但未设置它,因为在新创建的进程中不存在ActivityC。