1

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

4

1 回答 1

0

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

于 2012-11-08T20:54:16.587 回答