android - setResult()方法调用
巴扎黑
巴扎黑 2017-04-17 16:29:26
[Android讨论组]

小弟在做一个sdk,商户使用startActivityForResult()方法来启动我的sdk中的Activity(A),然后会进行一系列操作,跳转至Activity B、C、D等,中途可能使用finish()方法结束某个Activity,最后需要在某个Activity(不是A)中点击界面上的按钮将信息通过setResult()返回给商户,请问有办法实现吗?

目前已知的方案是,每次都通过startActivityForResult()方法来启动每一个Activity,来进行信息传递,其实不太想使用这种方案,不知道有没有其他的方案可以解决?

巴扎黑
巴扎黑

全部回复(4)
巴扎黑

建议LZ在从B跳转到C,D的时候,对intent添加FLAG_ACTIVITY_FORWARD_RESULT这个flag,这样A就能收到B(startActivityForResult),C(startActivity),D(startActivity)中任何一个Activity的result了

PHP中文网

方法就是每个Activity都用startActivityForResult来启动,虽然这样代码量会有所增加,但是这样是耦合较少的实现。也有其它的实现方式,比如共享一个单例对象到Application里,通过这个对象进行记录。不过这样做和使用startActivityForResult区别也不大。

怪我咯

你自己写一个activity基类,里面写一个activity之间传输信息的方法,然后你就把sdk里面的activity基类继承你的基类。如果你不需要跟其他的activity进行交互,那你直接在sdk的activity基类上写传输信息的方法

天蓬老师

用一个类来进行数据保存,这样子数据会比较好操作和传递一点

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号