原因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;
}
}