Подтвердить что ты не робот

Как заблокировать телефон от зарядки через USB программно

Я пытался сделать как можно больше исследований, но не могу найти ответ на этот довольно простой вопрос (хочу понять это, прежде чем я собираюсь настроить SDK и все такое). Я думаю о разработке моего первого приложения, и я задаюсь вопросом, содержит ли BATTERY_STATUS_CHARGING из BatteryManager только функцию get или также функцию set.

Я не могу сделать приложение, в котором я могу вручную заблокировать телефон от зарядки, не отсоединяя его от зарядного устройства (через USB), и поэтому мне интересно, действительно ли это возможно.

4b9b3361

Ответ 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