Android P onStart在onActivityResult之前调用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android P onStart在onActivityResult之前调用相关的知识,希望对你有一定的参考价值。

我正在尝试新的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

答案

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

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

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

以上是关于Android P onStart在onActivityResult之前调用的主要内容,如果未能解决你的问题,请参考以下文章

Android:在活动中 onStart()、onStop()、onDestroy() 的开头或结尾调用 super()?

在某些 Android 设备上获取 nullPointerException onStart() 方法

OnInitialize 和 OnActivate 不会在子视图模型上调用

com.google.android.youtube.player.YouTubePlayerSupportFragment.onStart 处的 NullPointerException(未知来源)

android IntentService生命周期问题

具有两种可用的 onActivated 侦听器的 UWP c# 应用程序 - 通过通知激活