复现bug:华为P10,apk发QQ,QQ安装,安装完成后直接点打开(自己去桌面打开不会触发这个bug)。
如A-B,按home,再点图标进来会发现是A在当前可见,当点击back,会回退到B然后再按回退到A。
再次输出A的intent,两次都不是null;
输出intent.hasCategory(Intent.CATEGROY_LAUNCHER)和intent.getAction().equals(Intent.ACTION_MAIN)发现都是true;
只有isTaskRoot()第一次为true,第二次为false
解决办法:
if(!isTaskRoot()) {
//如果是在栈底
Intent intent = getIntent();
String action = intent.getAction();
if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) {
//当作为启动页时候。如果是其他页面跳转进来,就不需要finish
finish();
}
}