美文网首页
startActivityForResult的一点说明

startActivityForResult的一点说明

作者: 人心所向便是阳光 | 来源:发表于2019-02-15 21:36 被阅读0次

startActivityForResult()方法和activity的启动模式有关
当被启动的activity启动模式为singleTask或者singleInstance的时候,原acitivity会立即在onActivityResult()方法中会直接收到RESULT_CANCELED结果,也就是说onActivityResult会失效

启动时候的生命方法执行顺序,注意观察原acitivity的执行顺序
D/MainActivity: onPause:
D/MainActivity: onActivityResult:
D/MainActivity: onResume:
D/MainActivity: onPause:

D/SecondActivity: onCreate:
D/SecondActivity: onStart:
D/SecondActivity: onResume:
D/MainActivity: onStop:

现在我们在SecondActivity中设置了result,那么点击返回键
D/SecondActivity: onPause:
D/MainActivity: onRestart:
D/MainActivity: onStart:
D/MainActivity: onResume:
D/SecondActivity: onStop:
D/SecondActivity: onDestroy:
可以看到MainActivity的onActivityResult已经不执行了

另外,如果activity的配置中使用了nohistory=true的话,那么这个activity是肯定收不到结果了。因为返回的时候这个activity已经不存在了。

相关文章

网友评论

      本文标题:startActivityForResult的一点说明

      本文链接:https://www.haomeiwen.com/subject/tycveqtx.html