一个 LSPosed 模块,用于拦截 QQ音乐 在移动数据下反复弹出的「流量提醒」推广弹窗。
QQ音乐 20.9.0.8(com.tencent.qqmusic)在移动数据下播放时,会反复弹出标题为「流量提醒」的对话框,内容为"使用需消耗流量,为保护你的流量,建议开通免流量",并提供「不再提醒」与「开会员,送流量」两个按钮。
该弹窗存在两个问题:
- 频次控制失效:点击「不再提醒」后,客户端写入的抑制时间戳等于当前时刻而非未来的截止时刻,抑制窗口长度为 0,下一次检测立即再次触发。实测在 37 秒内连续弹出 13 次。
- 阻塞启动流程:弹窗会覆盖在启动页之上并暂停播放,导致应用无法正常进入主界面。
同时,设置中已有的「流量提醒」开关对该弹窗无效——即使处于关闭状态,弹窗依然出现。该弹窗实际属于独立的商业化推广路径。
- 拦截标题为「流量提醒」的 Dialog,使其不再显示
- 在拦截前主动触发「不再提醒」按钮的点击回调,让业务逻辑正常走完,避免应用卡在启动页
- 精确标题匹配,不影响 QQ音乐 的其他对话框
- 仅作用于
com.tencent.qqmusic,不影响其他应用
模块在 QQ音乐 进程内对 android.app.Dialog 做三层 hook:
| 层级 | Hook 点 | 作用 |
|---|---|---|
| 1 | Dialog.show() 前置 |
遍历 View 树匹配标题,命中则触发按钮回调并阻止显示 |
| 2 | Dialog.onCreate() 后置 |
覆盖内容在 show() 内部才 inflate 的场景,提前打标记 |
| 3 | Dialog.show() 后置 |
兜底,若仍显示则立即关闭 |
第一层是主路径。之所以要额外触发按钮回调,是因为若只阻止显示,QQ音乐 可能因等待用户操作而继续阻塞启动流程。
模块不依赖混淆类名,仅按标题文案匹配,因此对应用内类名变更不敏感。
- Android 8.0 及以上(minSdk 26)
- LSPosed(xposedminversion 93)
- QQ音乐(
com.tencent.qqmusic)
- 安装 APK
- 打开 LSPosed 管理器,启用「QQ音乐弹窗拦截」,作用域勾选 QQ音乐
- 强制停止 QQ音乐 并重新打开
作用域绑定后无需重启设备。
拦截动作会写入 LSPosed 日志,关键字 NoRemind:
[NoRemind] loaded in com.tencent.qqmusic
[NoRemind] blocked dialog before show, dismissClicked=true
查看方式:LSPosed 管理器 → 日志 → 搜索 NoRemind。
- 拦截条件为标题包含「流量提醒」。若 QQ音乐 后续版本修改该文案,需要同步更新模块
- 界面底部的「流量消耗中」提示属于横幅而非 Dialog,不在拦截范围
- 若 QQ音乐 大版本升级后将弹窗改为
PopupWindow或WindowManager.addView实现,当前 hook 点会失效
遇到问题请在本仓库提交 Issue,并附上 LSPosed 日志中 NoRemind 相关的记录与 QQ音乐 版本号。
QQMusic No Remind is an LSPosed module that blocks the recurring "data usage reminder" promotional dialog in QQMusic (com.tencent.qqmusic).
QQMusic 20.9.0.8 shows this dialog repeatedly on mobile data. The "Don't remind again" action stores the current timestamp instead of a future suppression deadline, so the suppression window is effectively zero. The dialog also blocks the app's startup flow.
The module hooks Dialog.show() / Dialog.onCreate(), matches the dialog title, triggers the dismiss button callback to let the app's business logic complete, and prevents the dialog from being displayed.
Requires Android 8.0+, LSPosed, and QQMusic. Scope is limited to com.tencent.qqmusic.