Android 始终将活动放在后堆栈的底部

Android 始终将活动放在后堆栈的底部,android,android-navigation,Android,Android Navigation,我有一个带有导航抽屉的应用程序设计和一些活动(我知道在这里使用片段可能更容易,但这不可行) 当用户单击抽屉项目时,相应的活动开始于标记\u活动\u重新排序\u至\u前端。向上按钮应始终将用户带回开始活动A,因此当按下向上按钮时,我也会使用相同的标志启动A活动 考虑以下内容(大写字母表示活动,试图在此处将倒退形象化): 用户从抽屉中启动B A -> B 用户按下向上按钮,将一个 B -> A 用户按下后退按钮完成A返回B B 用户再次按下后退按钮退出应用程序,但在离开应用程序之

我有一个带有
导航抽屉的应用程序
设计和一些活动(我知道在这里使用片段可能更容易,但这不可行)

当用户单击抽屉项目时,相应的活动开始于
标记\u活动\u重新排序\u至\u前端
。向上按钮应始终将用户带回开始活动
A
,因此当按下向上按钮时,我也会使用相同的标志启动
A
活动

考虑以下内容(大写字母表示活动,试图在此处将倒退形象化):

用户从抽屉中启动B

A -> B
用户按下向上按钮,将一个

B -> A
用户按下后退按钮完成A返回B

B 
用户再次按下后退按钮退出应用程序,但在离开应用程序之前,用户应始终再次看到启动活动A

你们怎么解决这个问题的

编辑:@Neil,如果我有

A -> B
从那个里通过抽屉到C我有

A -> B -> C

如果用户现在按下向上按钮,我只是关闭C而不是将A带到顶部,那么用户将返回B,这将是错误的,因为C(导航)不在B之下,但他们是“兄弟”

尝试将活动B的启动模式设置为清单文件中的SingleTask,如下所示:

android:lanchMode="singleTask"

您的活动将不再被调用

当转到
活动B
时,是否
finish()
启动
活动A
?如果没有,请不要使用
标志\u ACTIVITY\u REORDER\u TO \u FRONT
返回
ACTIVITY A
时只需完成
ACTIVITY B
。您也可以这样做:)@Neil感谢您的输入,我试过了,但我在编辑中描述了一个问题。当你通过抽屉打开一个新活动时,你应该关闭上一个活动。因此,基本上活动A将始终是父活动(位于堆栈底部),而任何其他活动将始终是子活动。您应该找到一种方法,使a上始终只有一个子项,因此请记住从抽屉中打开的活动,然后在再次使用抽屉导航时,杀死任何其他打开但不是a的活动。活动a是实现抽屉的活动吗?我想我会这样做。我认为当用户从A转到B再转到C时,后退按钮应该会将用户带回到B,但由于B和C是兄弟,这可能没有必要。感谢您的帮助:)您刚刚在代码中描述了问题。他想在关闭应用程序之前查看活动A。。
android:lanchMode="singleTask"