blocker 中文文档 下载 App

receiver 广播接收器 开机自启和关联唤醒都靠它

receiver 是应用在"等"系统喊它干活的那个

receiver(广播接收器)是应用的"耳朵"——它注册监听某种系统事件(开机完成、网络变化、应用安装、屏幕解锁、充电状态变化),事件发生时系统广播一个 intent,receiver 收到后触发后续动作(启动 activity 或 service)。

开机自启和关联唤醒链的入口,全在 receiver 里。

为什么 receiver 是关联唤醒的关键

关联唤醒是安卓生态最烦人的一个行为:你打开了 A 应用,B、C 应用也跟着被拉起来跑了。原因是 B 和 C 的 receiver 监听了某个 A 应用触发的广播(比如 A 发送了一个自定义 intent,或者系统因为 A 的操作发了一个通用广播),B 和 C 一收到就启动了自己的 service。

常见的关联唤醒场景:

怎么在 Blocker 里找到这些 receiver

进应用详情,切到 receiver tab。看名字和注释:

关掉 receiver 的效果

receiver 本身是一个很小的"监听器",关掉它不是"卸载功能",而是让应用不再响应那个系统事件。开机不会自启了,亮屏不会被唤醒了,装个别的应用也不会被它关联启动了。

实战:禁开机自启

  1. 进应用 A 的详情页,切到 receiver tab
  2. 找名字里带 BOOT_COMPLETED 的 receiver
  3. 关掉它的开关
  4. 重启手机验证——应用 A 应该不会自己启动了

如果想更彻底,把同一个 receiver 关联的 service(开机后它要启动的那个 service)也一起关掉。

注意事项

有些应用的核心功能依赖 receiver——比如闹钟应用监听 TIME_SET 来重新校准闹钟时间,日历应用监听日期变化。不确定的先关一个试试,别一次性全关。