原因1、默认启动页设置了singTask
解决:去掉清单文件里的singtask属性设置,在startactivity时候设置
setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK)
原因2、虽然设置了原因1的解决防范,但是在部分设备上发现依然会存在这种情况,所以
解决2:
1、在App的基类BaseActivity添加方法:
@Override
public boolean moveTaskToBack(boolean nonRoot) {
return super.moveTaskToBack(true);
}
2、在App的启动页onCreate()方法里添加代码:
if (!this.isTaskRoot()) {
Intent mainIntent = getIntent();
String action = mainIntent.getAction();
if (mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER)&& null != action && Intent.ACTION_MAIN.equals(action)) {
finish();
return;
}
}