夺回 Android SystemUI 里那条 “此设备归…所有,已通过…连接到互联网” VPN 归属提示的控制权。想显示的部分显示、想隐藏的部分隐藏,或者整句替换成你自己的文案——这是一个 LSPosed / Xposed 模块,让这条横幅完全由你掌控。
- 逐槽位控制 —— 归属和 VPN 相互独立:各自可强制显示、隐藏,或保持系统默认;锁屏页还支持跟随主页。
- 整句替换 —— 用自定义文案整段替换提示内容(优先级最高)。
- 实时预览 —— 配置页实时预览效果。
- 动态内容 —— 文案中可嵌入占位符,运行时动态求值:电量、是否充电、WiFi 名、蓝牙设备名、当前时间、当前日期,以及网络请求函数
get(url)/post(url, body)。括号、逻辑、比较、三元表达式、加法或字符串拼接均可自由嵌套。需先在设置里开启「表达式注入」,关闭时占位符原文直出、不会注入 SystemUI。 - 可选 HTTP API —— 支持远程或脚本更新配置。
- 默认 —— 跟随系统原值,系统显示就显示、不显示就不显示(可配置自定义文案但不改显隐)。
- 显示 —— 强制该槽位显示自定义文案。
- 隐藏 —— 强制该槽位不显示。
- 跟随主页(仅锁屏页)—— 直接沿用主页该槽位的设置。
- 安装 APK(见下方「该装哪个 APK」)。
- 在 LSPosed 中启用模块,作用域勾选
com.android.systemui。 - 打开模块配置页,设置你的归属 / VPN 文案。
- 重启 SystemUI(或重启手机)。
改完配置即生效,无需每次重启。
- modern —— 适用于新版 LSPosed(libxposed API 102),Android 8+。大多数用户推荐。
- legacy —— 适用于老版 Xposed / 老版 LSPosed,Android 7+。
两者包名相同,只启用其中一个即可。
不侵入系统:从不触碰归属判定逻辑,没有 VPN 时也不凭空造提示。所有结果仅通过改写 SystemUI Resources.getString 返回的字符串实现;任一 hook 失败都会被捕获并记入日志,不崩 SystemUI。
更提倡反馈无法扫描到资源的情形,而不是反馈能自动扫描的情形。反馈系统无法检测到资源时,请附带系统信息和 SystemUI apk。