让国行小米 15 双击电源键唤起 Google 钱包:其实只需要一条 adb 命令
内容提要
文章介绍国行HyperOS 4隐藏的“双击电源键打开Google钱包”功能:系统内置原生Quick Access Wallet(launch_QAW_wallet),只需一条adb命令修改double_click_power_key即可启用,但开机后可能被清空。作者fork原项目并做成App,可自动切换模式、同步默认NFC付款应用并在开机时写回,无需电脑,但仍依赖开发者选项和无线调试。
延伸解读
一条命令背后的系统机制
文章揭示国行 HyperOS 4 隐藏了原生 Android 的 Quick Access Wallet 功能,只需将 double_click_power_key 设为 launch_QAW_wallet 即可唤起 Google 钱包。这并非破解,而是系统本就支持、仅被定制配置关闭。理解这一点有助于读者判断:该功能依赖默认 NFC 付款应用,若默认是小米钱包则无效,因为小米钱包未实现 QAW 服务。
自动化插件的便利与代价
作者 fork 的 App 通过无线调试自动执行 adb 命令,省去每次重启连电脑的麻烦,但并未绕开 adb。插件需保持开发者选项和无线调试开启,且开机写回依赖 Wi-Fi。对于因银行 App 必须关闭开发者选项的用户,此方案不友好,只能手动改回小米钱包模式,且 Google 钱包模式重启后可能失效。
切换模式时的关键配对
文章强调,切换 Google 钱包与小米钱包模式时,必须同时修改双击电源键设置和默认 NFC 付款应用,两者缺一不可。尤其切回小米钱包时,仅改默认付款应用不够,还需将 double_click_power_key 改回 mi_pay,否则双击会提示不支持。这提醒读者,任何单步修改都可能造成功能异常。
使用前需留意的限制
作者列出多项未验证或已知限制:开机时无 Wi-Fi 后连上的情况未测试;关闭开发者选项后已授予的权限是否被收回未知;无线调试配对可能 7 天过期;插件持有 adbd 信任密钥,存在潜在安全考量。读者在尝试前应权衡这些不确定性,并理解该方案仍属折腾范畴,并非官方支持功能。
Q&A
国行小米15怎么设置双击电源键打开Google钱包?
在已开启谷歌基础服务、安装Google钱包并绑卡的前提下,执行一条adb命令:adb shell settings put system double_click_power_key launch_QAW_wallet。执行后,解锁和锁屏状态下双击电源键都会直接打开Google钱包。
为什么国行HyperOS设置里没有双击电源键打开Google钱包的选项?
因为国行HyperOS通过定制配置关闭了该功能(日志显示InputFeature: DTPB-Wallet support=false reason=disabledByCustFeature),但功能本身并未被移除,只是隐藏了。手动修改设置值后仍可正常使用。
launch_QAW_wallet能打开小米钱包吗?
不能。launch_QAW_wallet是原生Android的Quick Access Wallet接口,它会读取默认NFC付款应用并调用该应用的QAW服务。小米钱包没有实现QAW服务,所以如果默认付款应用是小米钱包,双击电源键会提示“当前默认钱包不支持双击电源键打开”。要使用小米钱包,必须将double_click_power_key改回mi_pay。
为什么修改double_click_power_key需要adb权限?
因为double_click_power_key是System表中的设置项,不是公开设置。SettingsProvider只允许system、shell、root和预装特权应用修改它,普通应用即使有WRITE_SECURE_SETTINGS权限也会被拒绝(targetSdk高于22时)。所以必须通过adb shell来执行修改命令。
PowerWallet插件如何实现自动切换和开机写回?
插件通过无线调试连接本机adbd获取shell权限。切换模式时,自动打开无线调试,通过mDNS发现端口并连接,执行settings put命令修改双击设置和默认付款应用,然后关闭无线调试,全程约5秒。开机写回则调度一个需要Wi-Fi的JobScheduler任务,若当前值为null或mi_pay且插件记录为Google钱包模式,则写回launch_QAW_wallet;若为其他功能则不动。
使用这个方案有哪些限制或注意事项?
主要限制包括:全程依赖开发者选项(关闭后无法切换模式,Google钱包模式重启后可能失效);需要Wi-Fi(无线调试只能在Wi-Fi下工作);配对可能7天后过期需重新配对;插件持有adbd信任的密钥,存在安全考量。此外,开机时无法区分系统填回的mi_pay和用户选择的mi_pay,因此长期使用小米钱包应在插件内切换。