☰
第131篇BroadcastReceiver:静态注册与动态注册的存亡
2026/10/10 12:08:15 网站建设 项目流程

先把结论放在前面:BroadcastReceiver 的答案分三层——"能收到广播"是 API 层、"知道哪些广播被限制"是机制层、"知道替代方案是什么"是工程层。Android 8 之后隐式广播被大幅限制、9 之后后台广播进一步收紧,能答到第三层的人才算真懂。

BroadcastReceiver 看起来是个简单组件,追问起来全是版本变化和限制规则。这篇按"是什么 → 怎么工作 → 限制在哪 → 怎么办"四步讲清。

两种注册,两条投递路径

静态注册写在清单里,由系统在应用启动时(ContentProvider初始化之后、Application.onCreate之前)建立接收器,进程被杀时也能收到——但受后台广播限制。

<receiver android:name=".NetworkChangeReceiver" android:exported="false"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver>

动态注册通过registerReceiver在运行时建立,必须与注册所在的 Context 生命周期对应

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询