onActivityResult中调用startActivityForResult接收不到返回值

来源:互联网 发布:lol钻石网吧mac 编辑:程序博客网 时间:2024/05/18 02:02

周五的时候同事遇到一个bug,有两个activity A,B,A调用startActivityForResult启动B,然后B返回数据给A,本来是想要A的onActivityResult接收到数据后继续启动B,但是当第一次接收到B返回来的数据Bfinish后A接收不到B的数据了,后来查看才发现问题出在A里面调用startActivityForResult这个方法的对象上,在项目里有一个基类BaseActivity,然后A、B都基层它,在BaseActivity中初始化mCurActivity变量保存当前activity,然后每次都是mCurActivity.startActivityForResult(),这样启动一次B后mCurActivity中保存的就是B对象,现在这个过程就是A启动B,A接收到B的数据后是B启动B,然后B接收B返回的数据,没有A的事了,所以A里面接收不到B返回的数据,这个地方需要以后注意,避免再出这样的问题。

0 0