blocker 中文文档 下载 App

PM 被应用复活换 IFW 意图防火墙截住意图应用察觉不到

PM 禁了又开了?换 IFW

上一页讲过 PM 的固有问题:应用捕获异常后可以把被 PM 禁用的组件重新启用。如果你关掉某个组件后过一会儿发现 Bloker 里开关又被拨回去了——那就是 PM 的复活问题,别再用 PM 了,换 IFW。

PM vs IFW 的核心区别

维度PackageManagerIntent Firewall
组件状态改成 disabled状态不变,仍显示 enabled
启动方式系统检测到状态 disabled 直接拒绝启动系统尝试启动,意图被 IFW 拦截
应用感知应用能感知到组件被禁(抛异常)应用察觉不到,以为组件还在运行
被复活会(应用捕获异常后自动恢复)不会(应用不知道被拦截了)
重启后规则保留规则保留
适用场景简单应用、开发者不会捕获异常的应用大厂应用、广告 SDK 应用、PM 规则会复活的应用

实战切换步骤

假设你用 PM 关掉了某大厂应用的广告组件,发现它第二天又自己开了:

  1. 打开 Bloker 设置页
  2. 把控制器从 PackageManager 切到 Intent Firewall
  3. 回到那个应用的组件详情页
  4. 你会发现之前 PM 方式"禁用"的组件现在状态显示是 enabled(这是正常的——IFW 不改变组件状态)
  5. 再次关掉这些组件的开关
  6. Bloker 现在会把"禁用"翻译成 IFW 的意图拦截规则
  7. 打开应用跑几圈,确认广告没了
  8. 过一天再回来看,开关应该还是关着的——不会被复活

什么时候 PM 够用、什么时候必须 IFW

PM 够用的场景:

必须用 IFW 的场景:

IFW 有没有缺点

IFW 几乎没有缺点,唯一的小问题是:

但对普通应用来说,IFW 是最彻底的方案。如果你的设备已经 root,推荐直接用 IFW + PM 组合——双保险。