适配小米手机startActivityForResult之后直接调用onActivityResult

本文介绍了一个关于Android Activity间数据传递的问题。当从Aactivity跳转到Bactivity,并尝试回传数据时,在某些设备上(如红米手机)遇到了无法正常获取回传数据的情况。文章分析了问题的原因在于目标Activity的launchMode被错误地设置为了singleTask,并提供了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在测试的过程中遇见一个A activity跳转B activity之后,结束B之后回传数据。
使用方法startActivityforForResult(Intent ,requestCode);
然后在onActivityResult中接收处理数据。结果在红米手机上面一直无法得到结束后intent所传的数据
然后调试断点之后发现,在小米手机上面直接调完startActivityForResult方法之后onActivityResult方法立即响应,所以没发拿到数据
原因是在AndroidManifest.xml 中跳转到的页面我自己设置了android:launchMode="singleTask",因为需要传值的 Activity 不容许设置该属性或者 singleInstance,或只能设为标准模式,不然将在 startActivityForResult()后直接调用 onActivityResult()。搜索
解决办法:去掉跳转到的页面的lanchMode属性即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值