【发布时间】:2012-01-06 12:23:32
【问题描述】:
我正在编写一个有两种“模式”的应用程序;一种查看模式和一种编辑模式。该应用程序公开了两个主/启动器活动(例如,A 和 D),它们又拥有自己的活动链(B、 C 和 E、F)。 A 和 D 两个入口点活动将在主屏幕中显示两个带有单独标签的图标,并且这两个链永远不会交叉,即一旦您在视图中启动应用程序活动 A 的模式,您可以来回走的唯一路线是 A、B、C,如果您在编辑模式下使用活动 D 启动应用程序,唯一可用的活动链是 D、E、F .
现在,我的问题是,如果启动应用程序,例如查看模式(活动链 A、B、C)并从该链中的任何活动中按 Home 按钮我回到主屏幕(当然)但是如果我在编辑模式下重新启动应用程序(活动链 D、E、F),我会到达按下主页按钮时我正在进行的活动(即错误链中的活动) - 不是编辑模式的预期入口点;活动 D。
我该如何解决这个问题?
我已经为所涉及的活动尝试了android:noHistory、android:clearTaskOnLaunch 和AndroidManifest.xml 中的其他属性的各种组合。但它们似乎只影响活动本身,而不是整个链条。
我想删除整个活动链(A、B、C 或 D, E, F) 在按下 Home 按钮时从历史堆栈中提取,但在我仍在链中时仍保持堆栈完整(我希望能够按下例如,活动 B 的后退按钮,然后转到活动 A)。
【问题讨论】:
-
@dbm : 你在看这个nisha113a5.blogspot.com??还原
-
嗨@himanshu!是的,这个问题可能也会让我得出一个可行的结论。感谢您的提示!
-
嗨@android_hungry!该解决方案可能会奏效。但是,我不确定我是否会选择它作为我的主要实现。对我来说,这感觉有点像“dark which-craft”,它注定无法在某些设备上运行。那是一条我不敢走的捷径。
-
@dbm: 是的,你说得对,刚好在我读到你的问题的同一天通过那个帖子..
标签: android android-activity back-stack android-navigation