Intent Flag中是否有类似Clear Bottom的东西?

时间:2013-01-24 19:54:38

标签: android

活动A是我的应用程序的主页。

A -> B -> C

C使用FLAG_ACTIVITY_CLEAR_TOP启动A以正确获取主页A.这很好用,堆栈就变成了,

A

但是可以使用Notification Manager直接调用B.

B -> C -> A

所以,即使我在C中启动A时使用FLAG_ACTIVITY_CLEAR_TOP标志,B和C仍然存在于A(主页)之前的堆栈中,并且在从A按下后退按钮时,它会返回到B和C.

我不想要这种行为。在从C开始活动A时,堆栈只应该有A.我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

如果您不关心导航,可以将B和C定义为android:noHistory

顺便说一句。我在某个时刻问了一些相关的问题。您可能有兴趣看看它: How to always start from a startup activity on Android?

答案 1 :(得分:0)

我建议您从通知中启动ActivityA(而不是ActivityB),因为您显然希望该活动始终是您的任务中的根活动。向传递给Intent的{​​{1}}添加一个额外内容。然后,在Notification的{​​{1}}中,您应检查额外是否存在,如果存在,请立即启动onCreate()。这应该为您提供所需的导航行为。