You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当Intent Flag与Manifest启动模式冲突时,哪一方配置会被优先采用?

关于Intent Flag与Manifest启动模式冲突的处理规则

当Intent Flag和Manifest中Activity的启动模式配置冲突时,Intent Flag的优先级更高。

针对你描述的场景:Activity B在Manifest中设置启动模式为singleTop,但启动时通过Intent指定了FLAG_ACTIVITY_NEW_TASK标记,此时系统会按以下逻辑处理:

  • 若当前系统中不存在Activity B的实例,系统会为B创建一个新的任务栈,并将B的实例放入该栈中。
  • 若当前已有包含Activity B实例的任务栈:
    • 若B正好处于该任务栈的栈顶,不会创建新实例,而是调用B的onNewIntent()方法接收新的Intent。
    • 若B不在该任务栈的栈顶,则会在对应任务栈中创建B的新实例(singleTop仅限制栈顶重复创建,而FLAG_ACTIVITY_NEW_TASK仅在无对应任务栈时才创建新栈)。

本质原因是:Manifest的启动模式是静态全局配置,而Intent Flag是启动时的动态场景化配置,系统设计上优先遵循动态配置以支持灵活的启动逻辑。

内容的提问来源于stack exchange,提问作者Akshat Singhal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 18:53:14