setResult()方法调用 财富值73

2016-04-03 03:04发布

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

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

2条回答

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

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

一周热门 更多>