背景:A代表第一个Activity,B代表第二个Activity。
从A跳转到B并且传递一些数据给B,B把传递过来的数据经过一定的处理又返回给A。
实现思路:在A中使用startActivityForResult(),B中使用setResult()返回数据。
遇到的问题:最初发现B没有传值回来给A,经过一系列的检查,发现当A启动的时候,直接调用了onActivityResult()方法而且返回码为0,而跳转到B之后,B执行完finish()方法之后,A并没有再执行onActivityResult()方法,好久没有找到原因。
原因分析:查找大量资料之后,知道了Activity的SingleTask启动模式和SingleInstance启动模式不能使用startActivityForResult()方法,具体原因还并不太理解,有时间会查查资料,把这里弄懂
解决办法:把SingleTask删掉就好了。