【问题标题】:How to remove top activity from stack, and start the next one如何从堆栈中删除顶部活动,并开始下一个活动
【发布时间】:2012-11-08 20:36:19
【问题描述】:

在我的应用程序中,我有三个活动 A、B 和 C。活动 A 正在使用特定的 requestCode 启动活动 B(并等待返回的结果),活动 B 正在启动活动 C。在清单中,C 设置为不会将其历史记录存储在堆栈中,因此当用户继续时,它们会被发送到活动 B。此时,后堆栈从下到上看起来像 ABB。最底部的 B 以正确的 requestCode 开始,但最顶部的 B 没有以任何 requestCode 开始。现在我的问题是,我怎样才能使最底层的 B 被“恢复”而不是最顶层的 B 被创建?此外,我尝试在清单中为 B 活动使用“singleTask”和“singleTop”属性,虽然它确实使用了堆栈上已经存在的相同活动实例,但 requestCode 似乎不再与如果活动 A 已经开始。

【问题讨论】:

    标签: android android-activity stack history


    【解决方案1】:

    实际上,我正在阅读有关用于启动活动的不同标志的信息,并找到了 FLAG_ACTIVITY_REORDER_TO_FRONT 标志。这完全实现了我想要的,它恢复了已经在堆栈上的活动而不创建另一个实例,并且不发出或更改任何现有的 requestCodes。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多