Android Release 切换到后台再点桌面图标进入后, App 重启

问题

  1. Release 版本在某些设备上 : 华为P8/6.0 系统 、小米 Note3 /7.0.1系统都出现了该问题( Debug 版事实上也可以重现)。
  2. 打开某个 Activity , 点击 Home 键 。
  3. 点击桌面 App 图标, 结果App 重新启动。

例如 : LaunchActivity -> MainActivity -> LoginActivity -> Home 键
此时再进入应该是 LoginActivity , 却进入了 LaunchActivity 。


解决方案

在 LaunchActivity 的 OnCreate 方法中添加判断。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = getIntent();
        if (!isTaskRoot()
                && intent != null
                && intent.hasCategory(Intent.CATEGORY_LAUNCHER)
                && intent.getAction() != null
                && intent.getAction().equals(Intent.ACTION_MAIN)) {
            finish();
            return;
        }
   }

重现步骤

作为一名菜鸡程序员, 整天就会乱点, 然后我就有了点新发现 : 测试机型 : 小米 Note 3 / Android 8.0 / MIUI 10.0

  1. 通过 adb 安装的 apk 包, 不会出现上述 Bug 。(我灵鸡一动,打出个 Debug 版本,发送到 QQ 安装,小米不让我安装。有办法,在你的 gradle.properties 中添加 android.injected.testOnly=false 。然后通过QQ安装后,重现了上述 Bug )
  2. 第一次安装的时候,会出现该 Bug 。
  3. 第一次安装后,如果你杀死应用再进去,不会出现该 Bug 。

解决步骤 :

  1. 卸载你手机的应用,将你的应用 Release 版发到你的 QQ , 然后在 QQ中安装 apk 。(不要通过 adb 命令安装)
  2. 进入界面 -> 点击Home键 -> 点击图标-> 应用重启 -> 最近任务杀死应用后 -> 无法重现该 Bug 了。

总结

上述 Bug 跟 Release 版本还是 Debug 版本无关。 和 adb 安装有关。


解决方案参考链接

https://stackoverflow.com/questions/19545889/app-restarts-rather-than-resumes

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值