Android P onStart 在 onActivityResult 之前调用
Android P onStart called before onActivityResult
我正在试用新的Android P Developer Preview,场景如下:
- 我用 start[=96 从 Activity A 调用 Activity B =]ForResult
- 使用SetResult完成Activity B并返回Activity A,Activity 生命周期曾经是(在 Android P 预览之前):
- 上Activity结果
- onStart
- onResume
(这里还有一个 post 确认这个订单 Execution order of OnActivityResult and OnResume)来自 rndstr
的回答
现在在测试 Android P 预览时 Activity 生命周期是:
- onStart
- 上Activity结果
- onResume
Android 文档 https://developer.android.com/reference/android/app/Activity#onactivityresult
说 only onActivityresult 应该在 onResume 之前出现,它没有提到 onStart
有人可以帮忙吗?这是 Android P 预览中的错误还是新行为?有这方面的好文档吗?
我正在使用 targetSDK: 23
Activity A 是:SingleTask 和 Activity B 是:SingleTop
在我看来你已经回答了自己的问题!
The documentation says only that onActivityResult()
will be called
before onResume()
, it says nothing about onStart()
.
onStart()
和 onStop()
仅在您的 Activity
不可见时才会调用。这意味着如果您启动另一个 Activity
并且 Activity
没有完全覆盖屏幕,您的 Activity
将不会获得 onStop()
、onRestart()
和 onStart()
仍然调用。因此,您不应该依赖它们,也不应该依赖它们的调用顺序。
我正在试用新的Android P Developer Preview,场景如下:
- 我用 start[=96 从 Activity A 调用 Activity B =]ForResult
- 使用SetResult完成Activity B并返回Activity A,Activity 生命周期曾经是(在 Android P 预览之前):
- 上Activity结果
- onStart
- onResume
(这里还有一个 post 确认这个订单 Execution order of OnActivityResult and OnResume)来自 rndstr
的回答现在在测试 Android P 预览时 Activity 生命周期是:
- onStart
- 上Activity结果
- onResume
Android 文档 https://developer.android.com/reference/android/app/Activity#onactivityresult 说 only onActivityresult 应该在 onResume 之前出现,它没有提到 onStart
有人可以帮忙吗?这是 Android P 预览中的错误还是新行为?有这方面的好文档吗?
我正在使用 targetSDK: 23
Activity A 是:SingleTask 和 Activity B 是:SingleTop
在我看来你已经回答了自己的问题!
The documentation says only that
onActivityResult()
will be called beforeonResume()
, it says nothing aboutonStart()
.
onStart()
和 onStop()
仅在您的 Activity
不可见时才会调用。这意味着如果您启动另一个 Activity
并且 Activity
没有完全覆盖屏幕,您的 Activity
将不会获得 onStop()
、onRestart()
和 onStart()
仍然调用。因此,您不应该依赖它们,也不应该依赖它们的调用顺序。