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