Как заблокировать телефон от зарядки через USB программно
Я пытался сделать как можно больше исследований, но не могу найти ответ на этот довольно простой вопрос (хочу понять это, прежде чем я собираюсь настроить SDK и все такое). Я думаю о разработке моего первого приложения, и я задаюсь вопросом, содержит ли BATTERY_STATUS_CHARGING
из BatteryManager
только функцию get
или также функцию set
.
Я не могу сделать приложение, в котором я могу вручную заблокировать телефон от зарядки, не отсоединяя его от зарядного устройства (через USB), и поэтому мне интересно, действительно ли это возможно.
Ответы
Ответ 1
Нет, его невозможно использовать на неуправляемых устройствах. Он использует Settings.System
с ADB_ENABLED
, но ADB_ENABLED
- это настройка Secure-System, которая не может быть изменена приложением.
Да, это можно сделать на корневом телефоне.
Необходимо добавить разрешение android.permission.WRITE_SECURE_SETTINGS.
Тот же тип приложения в Google Play: https://play.google.com/store/apps/details?id=com.jim2&hl=en
Ответ 2
Вы можете это сделать: 12 Ом в серийном режиме все еще заставляют телефон распознавать компьютер, но медленно разряжаются. См. Прилагаемое изображение. ![введите описание изображения здесь]()
Ответ 3
Это, к сожалению, невозможно. Android только прочитал API для данных о батарее. ADB_ENABLED не поможет в этом случае, поскольку это только для включения отладки через USB.
Управление зарядкой аккумулятора является внутренним ядром для модулей ядра Android и аккумулятора. Производители время от времени меняют его, но не доступны для приложений без root и не контролируют модули IC (интегрированные чипы) через какой-то сложный интерфейс, который на самом деле будет отличаться практически для любого устройства!
В лучшем случае, если нам повезет, интерфейс sysfs может помочь в этом, но опять же он требует root и может отличаться от устройства к устройству.
Ответ 4
Я знаю, что эта ветка устарела, но в любом случае выкладываю мои анны для тех, кто достигает здесь позже. Попробуйте следующее: -
echo 0 > /sys/class/power_supply/batterycharging_enabled/charging_enabled