- 在launch活动页面的onCreate()方法的setContentView()方法前面
添加
if (!this.isTaskRoot()) {
Intent mainIntent = getIntent();
String action = mainIntent.getAction();
if (mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) {
finish();
return;
}
}
- 在启动页的清单配置里配
android:alwaysRetainTaskState="true"
android:clearTaskOnLaunch="false"
- PS
android:alwaysRetainTaskState="true"
给根Activity加上android:alwaysRetainTaskState="true"另外,如果有android:launchMode=“singleTask” ,则把这句删除,当我们按HOME键返回桌面,任务栈的状态被保留着,当我们点击应用图标打开再次应用时,系统会判断是否已经存在以之前的最初打开的Activity为根Activity的栈,如果有,那么就直接使用该栈,并显示栈顶的Activity.
clearTaskOnLaunch
若启动页配置了clearTaskOnLaunch属性为true,每次从桌面进入都启动根Activity,它可以清除根Activity以外的所有Activity,当然它也必须配置在根Activity中才有效果哦!