android Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 未按预期工作

android Intent.FLAG_ACTIVITY_REORDER_TO_FRONT not working as intended

我在使用 FLAG_ACTIVITY_REORDER_TO_FRONT 时遇到了一个奇怪的问题。我有 2 个活动,A 和 B。A 有一个按钮可以移动到 B,B 有一个按钮可以移动到 A。我们开始吧。

第一种情况:

  1. 应用程序以 activity A
  2. 开头
  3. 然后我点击按钮去B
  4. 我按下后退按钮。
  5. Activity 显示 A(按预期工作)

第二种情况

  1. 应用程序以 activity A
  2. 开头
  3. 然后我点击按钮去B
  4. 然后我点击按钮转到A
  5. 然后我点击后退按钮
  6. 我的应用程序关闭

当我单击后退按钮时,我的应用程序不应该转到 B 吗? 即使我做了

adb shell
dumpsys activity | grep -i run

就在单击后退按钮之前,它会在堆栈中显示 2 个 Activity,A 在顶部,B 在其正下方。

P.S。在使用这些活动(以及更多活动)时,我正在使用 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 来处理更复杂的场景,有趣的是,它们工作得很好。只有当我只有 2 个 Activity 时,我才能提前退出应用程序。

这是一个副本: Puzzling behavior with REORDER_TO_FRONT

显然这是 android 错误 API 19.

有关详细信息,请参阅错误报告: https://code.google.com/p/android/issues/detail?id=63570#c2