我一直在使用FLAG_ACTIVITY_REORDER_TO_FRONT
来管理Activity堆栈但我已经意识到这个标志在不同的设备中有不同的行为。想象一下,我在堆栈中有这些活动: A-> B-> C-> D 和来自DI打开活动B使用FLAG_ACTIVITY_REORDER_TO_FRONT
标志,因此新堆栈状态为 A-> C-> D->乙即可。如果我按下B的后退按钮你期望看到的是D和C之后,最后是A.它在我测试的所有手机中按预期工作,但重点是它只能在某些平板电脑中以相同的方式工作,因为在其他我按下后退按钮时应用程序关闭。在Nexus 10中,当我从D打开活动B时,我按下后退按钮,应用程序关闭,如果我重新打开它,我所拥有的是堆栈中的活动( A-> C-> d )。
有人知道发生了什么事吗?似乎内部实现在不同的Android版本中是不同的:$