当我处于子活动时任务杀手杀死应用程序后,如果我重新启动应用程序,它将从子活动开始并崩溃。 当应用重启时,如何从根活动开始,而不是从子活动开始?
答案 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;