bug场景描述:
荣耀20pro,浏览器扫码下载apk,并安装,打开,切换到后台,点击桌面图标,应用重启,如果从后台进程中启动应用,则应用不会重启。
杀死程序后台,点击桌面图标启动,切换到后台,再次点击桌面图标,应用不会重启。
问题描述完毕,先排查是否应用的问题,下载qq浏览器,进行如上操作,问题复现了。
分析:
想起来以前遇到的问题,应用启动后,切换到后台,再次点击图标,应用重启,当时遇到这个问题的机型还挺多,解决方案就是在启动页动手脚。网上找到一个相应的帖子:
Android通过本地安装(非adb)第一次切到后台再次进入重启问题解决方案
参考如上情况,解决方法,在启动页加入如下代码:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
if (!isTaskRoot()) {
Intent intent = getIntent();
String action = intent.getAction();
if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) {
finish();
}
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
init();
}