У меня возникают проблемы с доступом к большинству статистических данных от батареи моего устройства Android, таких как BATTERY_PROPERTY_CAPACITY
, BATTERY_PROPERTY_CHARGE_COUNTER
или BATTERY_PROPERTY_CURRENT_AVERAGE
. Все эти свойства четко задокументированы здесь: http://developer.android.com/reference/android/os/BatteryManager.html
У меня есть следующее разрешение, объявленное в моем манифесте:
<uses-permission android:name="android.permission.BATTERY_STATS" />
У меня есть ненулевой экземпляр BatteryManager:
mBatteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);
И всякий раз, когда я пытаюсь получить эту статистику:
double remainingCapacity = mBatteryManager.getIntProperty(
BatteryManager.BATTERY_PROPERTY_CAPACITY);
double batteryCapacityMicroAh = mBatteryManager.getIntProperty(
BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER);
double averageCurrentMicroA = mBatteryManager.getIntProperty(
BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE);
Результаты все 0 для всех из них. Всегда, в обязательном порядке, 0. Я пробовал это на эмуляторе, на реальном устройстве, и все, о чем я думал, не смогло изменить мои результаты.
Буду очень признателен за любую помощь. В конечном счете, я пытаюсь рассчитать время, оставшееся до полной зарядки устройства (во время зарядки). Заранее спасибо.
signature
илиsystem
). ПопробуйтеgetLongProperty()
и посмотрите, добьётесь ли вы лучших результатов. - person CommonsWare   schedule 29.08.2015