如何在应用重启时从根活动开始而不是从子活动开始?

时间:2015-01-05 06:03:34

标签: android android-activity

当我处于子活动时任务杀手杀死应用程序后,如果我重新启动应用程序,它将从子活动开始并崩溃。 当应用重启时,如何从根活动开始,而不是从子活动开始?

2 个答案:

答案 0 :(得分:1)

最简单的方法是添加

android:clearTaskOnLaunch="true"

到“root”活动清单中的activity定义(ACTION = MAIN和CATEGORY = DEFAULT)。

然而,如果用户离开它然后返回它,这将始终从头开始你的应用程序(即使Android没有杀死你的应用程序的过程)。

更复杂的方法是使用public static boolean变量,在“root”活动的true中设置为onCreate()。如果此变量为true,则表示您的“root”活动已启动。然后,您需要在所有其他活动的onCreate()中测试此标记,如果变量为false,则表示Android已终止您的进程并重新创建并启动另一个活动(而不是“根”活动) )。在这种情况下,您应该重定向回“root”活动,如下所示:

Intent intent = new Intent(this, MyRootActivity.class);
startActivity(intent);
finish();
return;

答案 1 :(得分:-2)

这可能有用: 在子Activity的onStop和onDestroy中,输入以下代码

Intent intent = getIntent();
intent = null;