Android的Activity有四种启动模式,分别是standard、singleTop、singleTask、singleInstance。
测试发现,不同的模式下onActivityResult的调用时机不同:
1 在standard、singleTop两个模式下,onActivityResult方法会在当前的Activity结束掉之后被调用
2 在singleTask、singleInstance两个模式下,onActivityResult方法会立即调用,等到再setResult的时候,就不再起作用了
而不是通常理解的不会回调onActivityResult方法
总之,setResult方法与onActivityResult方法不是同步的。使用的时候需要注意