【问题标题】:Android P onStart called before onActivityResultAndroid P onStart 在 onActivityResult 之前调用
【发布时间】:2018-11-01 04:59:27
【问题描述】:

我正在试用新的Android P Developer Preview,具体情况如下:

  1. 我用 startActivityForResultActivity A 调用 Activity B
  2. SetResult 结束 Activity B 并返回到 Activity A,Activity 的生命周期曾经是(在 Android P Preview 之前) :
    1. onActivityResult
    2. onStart
    3. onResume

(这里还有一个确认此订单的帖子Execution order of OnActivityResult and OnResume)来自rndstr的回答

  1. 现在在测试 Android P 预览版时,Activity 生命周期是:

    1. onStart
    2. onActivityResult
    3. onResume

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

有人可以帮忙吗?这是 Android P Preview 中的错误还是新行为?有这方面的好文档吗?

我正在使用 targetSDK:23

Activity A 是:SingleTask,Activity B 是:SingleTop

【问题讨论】:

    标签: android android-activity onactivityresult activity-lifecycle


    【解决方案1】:

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

    文档说只有会调用onActivityResult()onResume() 之前,它没有提到onStart()

    onStart()onStop() 仅在您的 Activity 不可见时才被调用。这意味着如果您启动另一个Activity 并且Activity 没有完全覆盖屏幕,那么您的Activity 无论如何都不会收到onStop()onRestart()onStart() 调用。因此,您不应依赖它们,也不应依赖它们被调用的顺序。

    【讨论】:

      猜你喜欢
      • 2012-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      相关资源
      最近更新 更多