关于adb安装应用可以正常切换到后台,再点击应用图标恢复到之前界面,手机安装时却无法正常回到前台,而是重新打开第一个Acitivity得问题

在开发中出现以下问题:
通过adb安装应用,可以正常把应用切换到后台,再通过点击桌面应用图标,可以恢复到之前的界面,
但是通过手机应用安装器安装的,在打开应用后,切换入后台,再次点击桌面应用图标,直接打开了启动Activity,但是点击返回,结束这个Acitivty后,之前的界面又出现了。

如果你的应用只有一个Activity,可以直接把launchMode设置为singleInstance,即单例模式即可,但是如果你是有多个Activity,且又不是单例模式,就是出现这个问题,简而言之,就是你的应用启动是A界面,打开后A界面->B界面,然后切换入后台,再打开应用,就会出现又出现A界面,但我们想要的是进入后台前的B界面。

我看网上说这是安卓的Bug,然后找到了解决方式:
以下是原文链接(如有冒犯,联系删除,谢谢!):

https://segmentfault.com/q/1010000006651576

这个事件触发的原因是:安装完程序点击打开后,点击HOME键退回到桌面,再点击图标进入程序
原因应该是intent携带的信息不一样导致的。

解决方法:
在你的启动Activity中加入以下逻辑处理:

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
//这是为了应用程序安装完后直接打开,按home键退出后,再次打开程序出现的BUG
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
}

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onhhkj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值