假设我们有两个活动。
A - 主要活动,即“启用主页启动器”(适当的意图过滤器等)
B - 具有 singleTask 规范(此活动只能有一个实例)和自定义 taskAffinity 的任务根活动(以区分是否与主要任务根)。
假设 B 代表一个任务,该任务仅在它未完成时才有效 - 完成它后返回它或从最近的任务重新开始它不是一个选项。
在某个时间点 - A 开始 B 开始一项新任务。目标是在用户完成 B 后从最近的任务列表中删除 B。用户可以从 B 导航到其他任务(使用主页长按),然后只要未完成就导航回 B。从启动器启动 A 不会将 B 带到前台,因为它们具有不同的任务相关性。
Android 将 B 识别为任务的根,因此 B 在最近任务列表中可见,即使它已完成,用户也可以随时返回。将 B 移动到与 A 的一个任务不是解决方案,因为在 B 运行期间 - 用户应该能够在 A 和 B 任务之间切换。将 excludeFromRecents 添加到 B 的清单中会将其从最近的任务列表中完全删除,这也是一个不好的解决方案。
如何实现?(对不起,我的英语不好)