如何在ADB连接期间禁用电池充电?

问题描述 投票:5回答:4

问题描述:每次我在PC和手机之间连接USB线时,电池会自动充电。我想使用ADB协议,但我不想在ADB连接期间为电池充电。是否可以关闭此充电?当然我怎么能这样做?

环境:Android OS 4及更高版本的手机

我只需要提一下我的参考设备在android 5上工作,所以没有/ sys / class / power_supply / battery / force_usb_charging文件

android usb adb
4个回答
9
投票

请注意: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并检查它们是否真的按照他们的说法而不仅仅是嘲笑。


4
投票

您可以让系统认为它没有使用电池加载

adb shell dumpsys电池拔掉

请参阅这篇好文章:https://stanfy.com/blog/android-shell-part-1-mocking-battery-status/


2
投票

可能它可以通过(root权限)完成:

/sys/devices/battery.XX/power_supply/battery/hv_charger_set

0 - 禁用USB充电

1 - 启用USB充电


1
投票

尝试使用root设备:

要启用电池充电:

    adb shell dumpsys battery set ac 1
    adb shell dumpsys battery set usb 1
    adb shell dumpsys battery set wireless 1

要禁用电池充电:

    adb shell dumpsys battery set ac 0
    adb shell dumpsys battery set usb 0
    adb shell dumpsys battery set wireless 0
© www.soinside.com 2019 - 2024. All rights reserved.