Android P onStart在onActivityResult之前调用

问题描述 投票:2回答:1

我正在尝试新的Android P开发者预览版,方案如下:

  1. 我使用startActivityForResult从Activity A调用Activity B.
  2. 使用SetResult完成活动B并返回活动A,活动生命周期曾经是(在Android P预览之前): onActivityResult 在onStart 的onResume

(这里也是一个确认此命令Execution order of OnActivityResult and OnResume的帖子)来自rndstr的回答

  1. 现在,在测试Android P预览时,Activity生命周期是: 在onStart onActivityResult 的onResume

Android文档https://developer.android.com/reference/android/app/Activity#onactivityresult只说onActivityresult应该在onResume之前出现,它没有说明onStart

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

我使用的是targetSDK:23

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

android android-activity onactivityresult activity-lifecycle
1个回答
1
投票

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

文档只说onActivityResult()将在onResume()之前被调用,它没有提及onStart()

onStart()onStop()仅在您的Activity不可见时才会被调用。这意味着,如果你发射另一个Activity并且Activity没有完全覆盖屏幕,那么你的Activity将无法获得onStop()onRestart()onStart()。因此,您不应该依赖它们,也不应该依赖它们的调用顺序。

© www.soinside.com 2019 - 2024. All rights reserved.