startActivityForResult()接收不到回传值,优雅的处理方法及替换建议。

本文探讨了在Android中启动launchMode为singleTask的Activity时,onActivityResult()被立即回调且resultCode为RESULT_CANCELED的现象。该现象仅出现在Android 5.0之前的版本中。文章还推荐使用EventBus作为替代方案来实现Activity间的参数传递。

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

为什么通过startActivityForResult()方式去启动launchMode=singleTaskActivityonActivityResult()会被立即回调且resultCode值为RESULT_CANCEL??   


真的是这个样子吗?




可以发现在5.0之后,就不出现这种情况。

launchModesingleTask 只会出现在5.0之前,在5.0以后所有的launchMode都可以接受返回值。


建议:在android中,activity之间传递参数建议使用EventBus第三方框架来替代工作。这样可以很优雅?


EventBus官方源码地址: https://github.com/greenrobot/EventBus


EventBus官方使用文档:http://greenrobot.org/eventbus/documentation/


EventBus使用心得技巧:http://blog.youkuaiyun.com/u010566681/article/details/52119931

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值