问题描述:每次我在PC和手机之间连接USB线时,电池会自动充电.我想使用ADB协议,但我不想在ADB连接期间为电池充电.是否可以关闭此充电?当然我怎么能这样做?
环境:Android OS 4及更高版本的手机
我只需要提一下我的参考设备在android 5上工作,所以没有/ sys/class/power_supply/battery/force_usb_charging文件
fra*_*ier 12
请注意:adb shell dumpsys battery unplug只能MOCKS电池状态.我检查了我的USB电缆上的电流指示器,这并没有改变流动的电流量,因此电池仍在充电.它只会改变应用程序对状态的看法,例如,如果您已配置只能在收费时更新,则Google Play不会开始更新...
将文件的值更改/sys/devices/battery.XX/power_supply/battery/hv_charger_set为0确实有效,但每个设备的文件都不同.例如,对于带有snapdragon 805的yotaphone 2,有一个文件:/sys/devices/qpnp-charger-14/power_supply/battery/charging_enabled
所以你可以创建一个可以在tasker中使用的脚本(如果你有root):
echo $1 > /sys/devices/qpnp-charger-14/power_supply/battery/charging_enabled
如果你把它写入可执行文件/data/setcharging.sh,那么你可以调用脚本/data/setcharging.sh 0来启用或
/data/setcharging.sh 1启用.
这是有效的,我用我当前的计量usb电缆检查,但它没有显示它在电池状态图标中工作.所以你可以使用它的组合,adb shell dumpsys battery unplug / reset 使它看起来更好,但问题是,然后像tasker这样的应用程序不知道你是否有交流电源,所以当你设置它时你不能为它设置触发器拔掉插头......
还有一件事,我还测试了它在恢复(twrp)和启动过程中的作用.事实证明,在启动和恢复期间,充电正常.因此,如果您忘记再次打开充电,那么您的设备就不会死了.您始终可以在恢复模式下对其进行充电,然后再次启动并更改该值(如果您的恢复可以访问adb,则可以在恢复时更改该值).
最后,游戏商店中的应用程序正是为此制作的,但我建议获得这样的电流指示usb-cable并检查它们是否真的按照他们的说法而不仅仅是嘲笑.
您可以使用以下命令使系统认为未在装入电池
adb shell dumpsys电池拔出
参考这篇好文章:https : //stanfy.com/blog/android-shell-part-1-mocking-battery-status/
试试这个有根设备:
adb shell dumpsys battery set ac 1
adb shell dumpsys battery set usb 1
adb shell dumpsys battery set wireless 1
Run Code Online (Sandbox Code Playgroud)
adb shell dumpsys battery set ac 0
adb shell dumpsys battery set usb 0
adb shell dumpsys battery set wireless 0
Run Code Online (Sandbox Code Playgroud)
如果 Android 操作系统版本超过 6,请使用拔出并重置来恢复。
adb shell dumpsys battery unplug
adb shell dumpsys battery reset
Run Code Online (Sandbox Code Playgroud)
也许可以通过(root权限)来完成:
/sys/devices/battery.XX/power_supply/battery/hv_charger_set
Run Code Online (Sandbox Code Playgroud)
0 - 禁用 USB 充电
1 - 启用 USB 充电
| 归档时间: |
|
| 查看次数: |
14187 次 |
| 最近记录: |