我正在编写一个带有两种“模式”的应用程序;一种是查看模式,另一种是编辑模式。该应用程序公开两个主要/启动器活动(称为A和D),它们各自都有自己的活动链(B、C 和 E、F)。这两个入口点活动 A 和 D 将在主屏幕上显示两个具有不同标签的图标,并且这两个链永远不会交叉,即一旦您以视图模式从活动 A 开始运行应用程序,则您可以来回穿梭的唯一路线是 A、B、C,如果您以编辑模式从活动 D 开始启动应用程序,则唯一可用的活动链是 D、E、F。
现在,我的问题是,如果我以查看模式(活动链 A、B、C)启动应用程序,并从该链中的任何活动按下 Home 按钮,我将返回到主屏幕(当然),但如果我随后以编辑模式(活动链 D、E、F)重新启动应用程序,则我会回到按下 Home 按钮时所在的活动(也就是错误链中的一个活动),而不是预期的编辑模式入口点;活动 D。 我该怎么解决这个问题? 我尝试了在涉及的活动的 AndroidManifest.xml 中使用各种组合的 android:noHistory、android:clearTaskOnLaunch 和其他属性,但它们似乎只影响特定的活动,而不是整个链。
我希望在按下 Home 按钮时从历史堆栈中删除整个活动链(A、B、C 或 D、E、F),但仍然保持该链在内部完整(我希望能够从活动 B 按下返回按钮并到达活动 A)。
现在,我的问题是,如果我以查看模式(活动链 A、B、C)启动应用程序,并从该链中的任何活动按下 Home 按钮,我将返回到主屏幕(当然),但如果我随后以编辑模式(活动链 D、E、F)重新启动应用程序,则我会回到按下 Home 按钮时所在的活动(也就是错误链中的一个活动),而不是预期的编辑模式入口点;活动 D。 我该怎么解决这个问题? 我尝试了在涉及的活动的 AndroidManifest.xml 中使用各种组合的 android:noHistory、android:clearTaskOnLaunch 和其他属性,但它们似乎只影响特定的活动,而不是整个链。
我希望在按下 Home 按钮时从历史堆栈中删除整个活动链(A、B、C 或 D、E、F),但仍然保持该链在内部完整(我希望能够从活动 B 按下返回按钮并到达活动 A)。