Android通过本地安装(非adb)第一次切到后台再次进入重启问题解决方案

本人在小米6X遇到这个问题,查询是因为部分手机厂商通过本地安装intent缺少Category问题,会出现第一次安装启动后切到后台,然后从桌面图标点开应用重启问题,(Show only selected application)打印生命周期等未发现异常,控制台切到(No Filters查看全部)发现   activityStartTrigger: not whiteListed   红字异常,整理以下三种方式

第一种:

在Main入口Activity添加一下代码(小米6X机型测试第一次解决了问题,当不销毁应用切到后台在打开会出现Activity栈异常):

if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){
finish();
return;
}

 

第二种:

在MainActivity添加(部分机型无效)

android:alwaysRetainTaskState="true"
android:clearTaskOnLaunch="false"

 

第三种(推荐):

在MainActivity代码中添加(Super后面)

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

if (!isTaskRoot()) {
finish();
return;
}

 

posted @ 2019-12-20 10:01  门罗的魔术师  阅读(675)  评论(0编辑  收藏  举报