安卓按下HOME键,再次打开APP导致闪屏页重新启动问题

前言:
前段时间测试人员给我看了一个问题:APP登录成功进入首页,然后按下HOME键,再点击桌面图标APP又重新走了闪屏页,然后进入了登录页。当时这个问题吓我一跳,工作也几年了但是没遇到过这种情况,于是网上查找了解决方法。
在启动页的setContentView前面紧挨着加这么一个判断

if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){
   finish();
   return;
}

复现:
通过程序安装器安装打开的APP,界面此时会显示“完成”和“打开”,如果点击完成的话,通过桌面图标启动是没问题的,但是如果点击“打开”来启动APP的话,按下HOME 键再打开APP的话,启动页是重新启动的。

分析:
1.通过桌面启动的页面flag会带有FLAG_ ACTIVITY_ RESET_ TASK_ IF_ NEEDED,有这个标记Task不会重复启动,保证唯一
2.通过程序安装器启动的页面flag会带有FLAG_ ACTIVITY_ BROUGHT_ TO_ FRONT,因此在启动APP的时候,判断此页面有没有FLAG_ACTIVITY_BROUGHT_TO_FRONT这个标记,如果有这个标记直接finish当前页面就行了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值