Как проверить емкость аккумулятора Android Wear (уровень API 20)

Я хотел бы считать емкость аккумулятора, оставшуюся от моего Moto 360. Я нашел циферблаты, которые показывают это значение, но мне было интересно, как его получить. Я хотел бы отобразить это значение на моем собственном циферблате, который я создаю.

На уровне API 21 можно использовать BatteryManager.BATTERY_PROPERTY_CAPACITY, но есть ли другая команда, которую я могу использовать для уровня API 20?

Спасибо


person patrick    schedule 29.11.2014    source источник


Ответы (1)


Согласно обучению по мониторингу батареи, вы можете получить текущую информацию о батарее с помощью:

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = context.registerReceiver(null, ifilter);
int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
float batteryPct = level / (float)scale;

Обратите внимание, что вам нужно продолжать вызывать это несколько раз, чтобы получить обновленный уровень заряда батареи. Поскольку для пробуждения вашего приложения и проверки этого требуется батарея, они предлагают:

Как правило, вы должны максимизировать скорость фоновых обновлений в случае, когда устройство подключено к зарядному устройству переменного тока, уменьшить скорость, если зарядка осуществляется через USB, и уменьшить ее еще больше, если батарея разряжается.

person ianhanniballake    schedule 30.11.2014