Android P onStart之前调用onActivityResult

时间:2018-05-22 12:16:17

标签: android android-activity onactivityresult activity-lifecycle

我正在尝试新的Android P开发者预览版,并且场景如下:

  1. 我使用 startActivityForResult
  2. 活动A 中调用活动B
  3. 使用 SetResult 完成活动B 并返回活动A ,以前的活动生命周期(在Android P预览之前) :
    1. onActivityResult
    2. 在onStart
    3. 的onResume
  4. (这里也是确认此订单的帖子Execution order of OnActivityResult and OnResume)来自rndstr的答案

    1. 现在,在测试 Android P预览时,活动生命周期为:

      1. 在onStart
      2. onActivityResult
      3. 的onResume
    2. Android文档https://developer.android.com/reference/android/app/Activity#onactivityresult onActivityresult 应该出现在 onResume 之前,它没有提及 onStart

      任何人都可以帮忙吗?这是Android P Preview中的一个错误还是这是一种新行为?有没有一个很好的文件?

      我使用的是targetSDK:23

      活动A是:SingleTask和活动B是:SingleTop

1 个答案:

答案 0 :(得分:2)

听起来像你已经回答了你自己的问题!

  

文档说将调用onActivityResult()   在onResume()之前,它对onStart()没有任何说明。

仅当您的onStart()不可见时,才会调用{p> onStop()Activity。这意味着,如果您启动另一个ActivityActivity未完全覆盖屏幕,则Activity将无法获得onStop()onRestart()和{{无论如何,1}}来电。因此,你不应该依赖它们,你不应该依赖它们的顺序。