CurrentWidget не работает на нуге и выше из-за внутренних изменений - PullRequest
0 голосов
/ 28 сентября 2018

Мне нужна помощь, чтобы узнать ток батареи в телефоне.

Я пытаюсь получить ток батареи, следуя этому сообщению (Ответ):

Получение значений тока батареи дляТелефон Android

Текущий виджет работает на версии для Android ниже Android 7.0, но не работает на Android N и выше из-за внутренних изменений Android.Можете проверить эту ссылку.

https://play.google.com/store/apps/details?id=com.manor.currentwidget&hl=en_US

Если попробовать текущий виджет на устройстве Android 7.0, доступ к файлу sys будет запрещен.Это какой-нибудь альтернативный способ получить ток батареи?

ps: метод IntentFilter (Intent.ACTION_BATTERY_CHANGED) и bundle.getInt ("current_avg") не возвращают значение

1 Ответ

0 голосов
/ 28 сентября 2018

Используйте этот код для просмотра процента заряда батареи.

public static int getBatteryPercentage(Context context) {

       IntentFilter iFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
       Intent batteryStatus = context.registerReceiver(null, iFilter);

       int level = batteryStatus != null ? batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) : -1;
       int scale = batteryStatus != null ? batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1) : -1;

       float batteryPct = level / (float) scale;

       return (int) (batteryPct * 100);
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...