Android API 24:分屏 - activity 在被销毁时不启动返回堆栈的 activity

Android API 24 : split screen - activity does not start back stack's activity when destroyed

几天来我一直在为这个错误而苦苦挣扎。这个错误发生在罕见但可能的情况下,我就是找不到为什么会这样。

发生的事情是:

在分屏模式下(我的应用程序在顶部,另一个在底部),当某些 activity 退出时,返回堆栈 activity 的(在我的情况下,主要是 MainActivity) onStart() 从未被调用,分屏模式 看起来像 它已经结束,因为我的应用程序已死,但概览按钮仍然看起来像我处于分屏模式并且当我点击分屏按钮时,我的 MainActivity 的 onStart() 终于被调用,它又回到了分屏模式。

日志看起来像

MainActivity onStop() ProblematicActivity onCreate() ... ProblematicActivity onDestroy() //and nothing!

在这些条件下不会发生这种情况:

  1. 当在非分屏模式下调用有问题的 activity,但在分屏模式下完成时。 (resumedpaused
  2. 当在分屏模式下调用有问题的 activity,但我的应用程序被点击时(即我的 activity 处于 resumed 状态)

只有在以下情况下才会发生这种情况:

  1. 有问题activity在分屏模式下启动,我的activity没有被点击(即我的activity处于paused状态)

我已经彻底检查了 activity 生命周期回调(至少我是这么认为的)并多次查看日志,但我就是想不通为什么没有调用 BackStack activity。

我试过搜索,但没有太多有用的信息。有人有和我一样的experience/problem吗?

谢谢。

附加信息

我的 activity 堆栈看起来像这样

主要Activity
Activity2
Activity 1
片段 1

服务器发送我的应用启动一个功能,然后它启动Activity 2,它启动activity 1,而片段1在activity 1(用户真正看到的是片段 1) Activity & 片段被完全销毁,直到 Activity2。但是从那里,MainActivity(或者不管它是什么 activity)是不可见的,因为 AndroidSystem 从不调用 onStart.

事实证明这是 Android OS 中的缺陷。

Google的回复如下

Hi,
We have passed this defect on to the development team and will update this issue with more information as it becomes available.
Thanks

问题link:

https://code.google.com/p/android/issues/detail?id=231337&can=1&q=reporter%3Aadobecs5&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened