我们都知道在activity中有一个方法startActivityForResult,(假设有两个activity A,B)该方法的作用就是在activity A启动一个activity B后,如果该activity B调用finish方法,会触发activity B的onActivityForResult方法,在该方法中我们可以获取activity B需要返回给Activity A的数据,然而当启动的activity A的启动模式为singleTash或者singleInstance时,在调用startActivityForResult方法时会立即回调onActivityForResult方法,并且其中的resultCode为cancel值,这是什么原因呢?我们查看系统源码:
/** * Launch an activity for which you would like a result when it finished. * When this activity exits, your * onActivityResult() method will be called with the given requestCode.