该问题和 Acitivty 的 launchMode 有关;
1 B在standard、singleTop两个模式下,在A中startActivityForResult()后,onActivityResult方法会在Activity B结束掉之后被调用;
2 B在singleTask、singleInstance两个模式下,在A中startActivityForResult()后,onActivityResult方法会立即调用,等到在Activity 中 setResult 的时候,就不再起作用了,导致老是resultCode=0,也就是 setResult失效;
在使用startActivityForResult的时候,注意setResult 的activity启动模式只要为standard、singleTop就行。