安卓安装apk之后直接打开频繁重启、按home键返回,再次打开,重新启动

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系统问题。如果有了解原因的大神可以在评论中分享,大家一起学习学习。

这是国外网友的解释,不得不说,这种问题全世界都会遇到,是不是安卓的通病啊~icon-default.png?t=M0H8https://stackoverflow.com/questions/4341600/how-to-prevent-multiple-instances-of-an-activity-when-it-is-launched-with-differ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值