ICHIKI
Log

ColorOS 老是弹「检测到“XX”获取无障碍权限」是怎么回事?

ColorOS 16 起安全中心会反复弹「检测到 XX 获取无障碍权限」,这不是安卓原生的无障碍工具声明,而是安全中心新增的风险提醒——并且它会顺手把无障碍关掉。判定按包名与安装来源,由 OPPO 云端名单下发。附 root 核实方法。

约 3 分钟 AndroidColorOS无障碍安全中心逆向
关键词:ColorOS、安全中心、无障碍、无障碍风险提醒、OPPO、一加

现象

ColorOS(16 起)会在"安全中心"里隔一段时间弹一次,长这样:

检测到"某应用"获取无障碍权限
无障碍权限允许应用查看屏幕内容并自动操作设备,可能影响您的隐私和资金安全
[ 关闭无障碍 ] [ 保持开启 (倒计时) ]

很多人第一反应是"这不就是安卓那条无障碍通知吗",去关应用的无障碍工具声明。方向错了。

先排掉一个误解:这和原生的"无障碍工具声明"无关

原生 Android 只会在应用没有声明无障碍工具(android:isAccessibilityTool="true")时,隔段时间发一条:

查看权限设置(XX 可以查看和控制您的屏幕。点按即可查看。)

而 ColorOS 弹的这个,是安全中心自己新增的「无障碍风险提醒」:标题里直接点名应用、正文强调"隐私和资金安全",按钮里还带一个"关闭无障碍"。这两件事性质完全不同。

真正的触发链路

  1. 外部风险判定先发生,然后安全中心(com.oplus.safecenter)的 FraudRiskProvider 被调用;
  2. 安全中心弹出这个对话框,同时顺手把该应用的无障碍关掉(内部调用 AccessibilityUtils.setAccessibilityServiceState(..., false));
  3. 视情况还会请求系统清理该应用进程,并把这件事上报到自启动、securityguard、手机管家几个模块。

也就是说,它不只是"提醒",而是"提醒 + 直接关停"。用户看到的是一句话,实际发生的是一次管控动作。

为什么偏偏是某些 App 老被弹

因为判定是按包名做的。

OPPO 通过 com.oplus.romupdate 这个 provider 下发一份配置表 update_list,其中有一条 safe_accessibility_turn_off_whitelist(无障碍关闭白名单),结构大意是:

<accessibility_turn_off_switch>1</accessibility_turn_off_switch>
<!-- 按包名豁免 -->
<accessibility_turn_off_skip_package>某个包名</accessibility_turn_off_skip_package>
...
<!-- 按安装来源豁免 -->
<accessibility_turn_off_skip_install_source>某个渠道包名</accessibility_turn_off_skip_install_source>
...

规则就是:

  • 包名在 skip_package 里 → 跳过,不提示、不关;
  • 安装来源命中 skip_install_source(比如系统商店、系统备份/换机恢复这类渠道)→ 也跳过;
  • 两者都不在 → 被提示、并被关掉无障碍。

这就是那个经典现象的原因:同样功能的两个 App,一个风平浪静,一个天天被弹——差的是"包名有没有被收录",以及"是不是从被认可的来源装的"。

怎么自己核实(需要 root)

  • 安全中心给哪些包弹过: /data/data/com.oplus.safecenter/databases/com.oplus.safecenter_accessibility_drs_obus_sqlite 里事件 accessibility_guide_close_dialog_click 的 pkg_name 字段。
  • 当前生效的豁免名单: com.oplus.romupdate 的 rom_update.db → update_list 表 → filterName = 'safe_accessibility_turn_off_whitelist'。

小结

  • ColorOS 的这条提示 = 安全中心的「无障碍风险提醒」,由云端名单按包名 / 安装来源判定,命中就是"提示 + 关无障碍"。
  • 它和原生的无障碍工具声明不是一回事,别白折腾声明。
  • 名单是云端下发、会随版本更新的,所以本地没有一个"设一下就永久不弹"的开关。

相关阅读:ColorOS 重启后无障碍服务失效?把它拆成三层讲清楚


本文基于某个版本的 ColorOS 真机数据与系统 APK 反编译分析,具体行为会随系统版本、云端名单更新而变化。