2012-05-06 3 views

ответ

1

Для большинства устройств степень детализации зарегистрированных изменений батареи составляет 1% от емкости. Если ваш «процесс активности/вычисления» потребляет более 1% мощности, лучше работать в течение некоторого времени.

Это указано, звоните registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)). Поскольку ACTION_BATTERY_CHANGED является липкой трансляцией, звонок registerReceiver() вернет последнюю трансляцию Intent. Затем найдите значения BatteryManager.EXTRA_LEVEL и BatteryManager.EXTRA_SCALE, чтобы определить уровень заряда батареи. Просто имейте в виду, что:

  • Хотя EXTRA_SCALE часто 100, это не всегда 100

  • Хотя EXTRA_LEVEL часто изменяется с шагом в 1 (например, 100, 99, 98), он не всегда изменяйте с шагом 1