【发布时间】:2016-09-01 09:01:06
【问题描述】:
我有两个活动,活动 A 和活动 B。
活动 A 启动活动 B。
所以,一些交互后的活动堆栈将看起来像 A -> B -> A -> B。
问题: 我需要从活动B(堆栈中的最后一个B)进入堆栈中的第一个活动A。我正在使用 FLAG_CLEAR_TOP 以及 Intent.FLAG_ACTIVITY_NEW_TASK 来实现相同的目标。
现在,活动 A(堆栈位置 3)将从活动 B 中显示,但是当我按下返回按钮时,活动 B 将再次显示(因为活动 B(堆栈位置 2)已经在堆栈中)。
我该如何解决这个问题?
PS:我尝试对活动 A 和 B 使用 launchMode singleInstance 和 singleTask,但该解决方案不适用于我的应用程序。
提前致谢。
【问题讨论】:
-
如何从第一个活动 B 到第二个活动 A?
-
我正在使用 Intent.FLAG_ACTIVITY_NEW_TASK 导航到第二个活动 A
-
删除 FLAG_ACTIVITY_NEW_TASK 可能已经解决了您的问题,但我不确定。为什么不在第一个活动 B 中调用
finish离开该活动?然后你自动回到A,这是你的第一个A -
您是否在清单中指定活动 B 作为活动 A 的父级?这可能是您的问题的原因
-
@AntonMalmygin。不,我没有在清单中将 B 指定为 A 的父活动。