blocker 中文文档 下载 App

切换控制器规则会不会丢 PM 换 IFW 时 Bloker 会自动转换

控制器切换:规则不会直接丢

在 Bloker 设置页里把控制器从 PackageManager 改成 Intent Firewall(或反过来),你可能会担心:之前辛辛苦苦关了的组件会不会白做了?

答案:不会——Bloker 在切换时会自动做规则转换。

切换时 Bloker 做了什么

PM → IFW

  1. Bloker 读取当前所有应用的组件"禁用规则"(哪些被关了)
  2. 切 PM 状态为"保留"(PM 规则写在系统文件里,不会被 Bloker 自动清除)
  3. 把"禁用组件 X"翻译成 IFW 规则(拦截所有启动 X 的 intent)
  4. 写入 IFW XML 规则文件
  5. 界面上显示的"开关状态"变成 Bloker 自己维护的规则标记

IFW → PM

  1. Bloker 读取当前所有应用的 IFW 禁用规则
  2. 把"拦截组件 X 的 intent"翻译成 PM 状态修改(把 X 设为 disabled)
  3. 执行 pm disable 命令
  4. 界面上显示系统层面真实的组件 enabled/disabled 状态

规则转换的"脏"问题

切换后你可能会发现一些不一致:

怎么处理:在 Bloker 设置页里找"清除所有规则"或类似选项(以当前版本为准),清掉后重新设置。或者直接卸载重装 Bloker(记得先导出备份)。

建议:长期固定用一种控制器

为了避免切换导致的规则不一致问题:

切换后立刻做的事

切换控制器完成后,不要立刻把旧控制器的规则文件删掉——先跑一周验证新控制器下所有规则稳定生效。