SingleTask与android.intent.action.MAIN的坑

在项目内测期间,用户反馈应用每次从后台打开都会回到主页。经过排查,发现是AndroidManifest.xml中MainActivity配置了android.intent.action.MAIN和singleTask导致。当应用重新启动时,系统会清除Activity栈并调用MainActivity的OnNewIntent()。解决方案包括将singleTask改为singleTop或使用单独的空Activity作为入口。搜索相关问题时,往往在已知问题时才能找到答案,而真正的原因尚未明确。
摘要由CSDN通过智能技术生成

SingleTask与android.intent.action.MAIN的坑

项目首次封板内测期间用户反馈了一个问题,无论打开多少页面,将应用推至后台再启动就回到了主页。在内测期间才发现这么严重的问题,开发和测试都吓了一跳,庆幸这次内测只在公司范围内。

排查这个问题的时候,有点懵。项目是ReactNative架构的,原生为RN提供了清除Activity栈的方法,所以误以为是RN的错误调用导致了这个问题。断点调试发现没有走清栈的方法,一下失去了线索。对比了同类产品的代码没有发现异样,最终采用了二分commit记录的方式定位问题,然后发现了下面这段代码:

<activity
android:name=".MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" /></
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值