首页 / 资讯中心 / 文章详情

第131篇BroadcastReceiver:静态注册与动态注册的存亡

第131篇BroadcastReceiver:静态注册与动态注册的存亡 ★ FEATURED ARTICLE
先把结论放在前面: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 生命周期对应
阅读完成 · 觉得有帮助?
咨询建站