在android中我有以下路径:
活动 1 -> 活动 2 -> 活动 3 -> ... 活动 N -> 按下按钮 ...
当按下按钮时,我想清除/完成从活动 2 到 N 的所有活动,然后转到活动 X。换句话说,我想完成所有活动,直至最初的一个,然后移至另一个。
如果我使用标志:
CLEAR_TOP、CLEAR_TASK、NEW_TASK 等
理论上,它将完成第一个活动之前的所有活动。有什么办法可以让第一个活动保持活力并转移到活动 X 吗?
我不确定我是否理解这个问题。或者更确切地说,无法使用的原因FLAG_ACTIVITY_CLEAR_TOP
.
如果设置,并且正在启动的活动已经在运行
当前任务,然后而不是启动该任务的新实例
活动,其上的所有其他活动都将关闭并且
这个意图将作为一个传递给(现在在顶部)旧的活动
新意图。
例如,考虑由以下活动组成的任务:A、B、C、D。
如果 D 使用解析为的 Intent 调用 startActivity()
活动B的组成部分,然后C和D将完成并且B接收
给定的 Intent,导致堆栈现在为:A、B。
如果我理解正确的话,那正是你想要的。特别是对于,
活动 1 -> 活动 2 -> 活动 3 -> ... 活动 N -> 按
按钮 ...
发起意图Activity2.class
and flags FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP
会回到existingActivity2 的实例(而不是创建一个新实例)并在中传递新意图onNewIntent()
。您只需要向此意图添加一个额外的内容,以便此方法知道它应该在之后调用 ActivityX。
也就是说,除非我遗漏了什么。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)