好的,这是我的情况。
我有活动 A、B、C、D。它们按 A -> C -> D 的顺序相互启动。B 可以与 A 互换(B -> C -> D 的组合同样可能)。我还有一个等待一个事件和另一个活动 E 的服务。当事件发生时,预期的行为取决于哪个活动在前台:
- 当 A 或 B 可见或应用程序根本不在前台时,堆栈上的活动顺序不应更改。
- 当 C 可见时,我想删除 C 并将 E 放在它的位置:分别为 A -> E 或 B -> E。
- 当 D 可见时,我想同时删除 C 和 D 并将 E 放在它们的位置:A -> E 或 B -> E。
欢迎使用更通用的解决方案(处理 A -> C1 -> C2 -> ... 更改为 A -> E 之类的情况),因为该应用程序将在未来扩展并且将添加新功能(它们的确切的形状尚未确定)。
我已经阅读了 Android 开发人员网站上的Tasks and Back Stacks文档以及有关该主题的几个 SO 线程,但找不到一个好的解决方案。
有任何想法吗?