Android 安装完成后直接点击[打开],导致按home键返回,再次打开,走重启流程。如果先点击【完成】再打开,不会有问题。
解决方法:
在lanchActivity的onCreate()方法中加如下代码,一定要在setContentView()方法之前
if (!isTaskRoot() && getIntent() != null) {
String action = getIntent().getAction();
if (getIntent().hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) {
finish();
return;
}
}
完整代码如下:
!!!特别注意,特别注意,特别注意!!!!
一般在项目中我们的activity都会继承统一的BaseActivity,这个时候一定要确保LaunchActivity的onCreate()方法的执行顺序。建议LaunchActivity就不要继承BaseActivity了,这样处理更简单。
被这个原因坑了很久,之前试了很多方法都没有效果,以为是手机兼容性问题,后来才发现是这个原因,核心代码一定要放在setContentView()方法之前。
【原因的话,具体的还没有找到,但是通过打印日志会发现系统自动打开APP,和人为手动点击图标打开所携带的intent的信息是不一样的,不用型号厂商的手机打印出来的日志不一致;
我查了一些资料,有可能是因为非人为打开APP这种方式,系统有可能会判断你的APP挂了,自动帮你重启,至于为什么会这样,等我以后有时间研究研究安卓系统的源码~
还有网友说是两种打开方式app所处的任务栈不一样,是Android系统问题。如果有了解原因的大神可以在评论中分享,大家一起学习学习。】