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

Android 13中RECEIVER_EXPORTED官方说明存疑:测试与文档不符

为什么设置RECEIVER_NOT_EXPORTED仍能接收AIRPLANE_MODE广播?

先明确Google官方给出的标记说明:

选择广播接收器是否对外暴露并对设备上其他应用可见。若接收器监听系统或其他应用(甚至您自己开发的其他应用)发送的广播,请使用RECEIVER_EXPORTED标记;若仅监听您自己应用发送的广播,请使用RECEIVER_NOT_EXPORTED标记。

出现这个看似矛盾的情况,核心原因在于系统广播的特殊处理逻辑:

  • RECEIVER_EXPORTED/RECEIVER_NOT_EXPORTED的核心作用是限制**其他应用(包括第三方应用、您开发的其他独立应用)**能否向该接收器发送广播,但系统本身拥有最高权限,对于部分全局通知类的系统广播(比如AIRPLANE_MODE),系统会主动遍历所有已安装应用的接收器,无论其是否设置为导出,都会推送该广播。
  • AIRPLANE_MODE这类广播的设计目的是通知所有应用设备状态的全局变化,它的发送逻辑跳过了普通跨应用广播的权限校验,不需要接收器主动暴露给外部就能接收。
  • Google的文档说明是通用规则,部分系统广播属于例外场景,这类特殊广播的处理逻辑是系统层面的默认行为,不受exported属性的约束。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 01:35:24