blocker 中文文档 下载 App

组件过会儿自动恢复 这是 PM 方式的固有问题 换 IFW

关掉的开关第二天自己开了?这不是 bug

如果你在 Bloker 里用 PackageManager 方式关掉了某个应用的组件,过了一段时间(几个小时、第二天、重启后)回来一看——开关又被拨回去了。

这不是 Bloker 的 bug,是 Android 系统的设计允许应用这样做。

原理回顾

  1. Bloker 用 PM 把组件状态改成 disabled
  2. 应用尝试启动这个组件 → 系统抛异常
  3. 应用的开发者写了异常捕获逻辑 → 收到组件禁用通知
  4. 应用调用 setComponentEnabledSetting() 把自己的组件重新启用
  5. Bloker 下次刷新状态 → 看到组件又 enabled 了 → 开关显示打开

大厂应用几乎都有这个自恢复逻辑——字节、腾讯、百度系应用尤甚,它们的 SDK 里内置了检测和自恢复代码。

解决方案

换控制器:从 PM 切到 IFW。

切换步骤

  1. 打开 Bloker → 设置页 → 控制器种类
  2. 从 PackageManager 改成 Intent Firewall 或 IFW + PM
  3. 回到那个应用的详情页
  4. 重新关掉之前被复活的组件(IFW 方式下,Bloker 会写 intent 拦截规则,不是改 PM 状态)
  5. 杀掉应用重开验证
  6. 第二天回来看 → 开关应该还是关着的

换 IFW 后如果还在复活

极端情况(大厂应用的某些组件):IFW 也拦不住?试试 IFW + PM 组合控制器——PM 层改状态(应用可能复活)+ IFW 层拦 intent(应用察觉不到)。即使应用复活了 PM 层,IFW 还有一道闸。

确认是控制器问题不是权限问题

如果开关被复活的同时还出现了以下症状:

那可能不是 PM 的复活问题,是权限出了问题——检查 root 授权或 Shizuku 配对状态。