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