美文网首页
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