2013-08-02 4 views
0

Есть ли способ точно определить количество оставшегося заряда батареи в часах/минутах?Android - определить оставшееся время автономной работы

Я знаю, что могу зарегистрировать Intent приемник для приема вещания для ACTION_BATTERY_CHANGED и получить уровень и масштаб, и использовать их, чтобы получить процент, как так:

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

float batteryPct = level/(float)scale; 

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

Кто-нибудь есть идеи, можно ли получить эту деталь или предложения о том, где и как начать?

ответ

2

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

Невозможно точно знать, какие приложения будут запускаться пользователем и как долго они будут работать (т. Е. Ваш пользователь может смотреть 10 минут на YouTube через Wi-Fi или пытаться смотреть 90 минут на изменение соединения данных уровня сигнала).

Если бы я это делал, я бы измерил показатели горения на время автономной работы каждые несколько минут и использовал некоторые математические математические данные, чтобы оценить тренд.

Википедия не лучшее место, чтобы узнать Подсчитайте сами, но если хотите какую-то информацию о том, как работают линии тренда, начало здесь: http://en.wikipedia.org/wiki/Linear_regression#Trend_line

Это только мои идеи о вашей ситуации ... Надеюсь, что это помогает.

+0

Это отличное предложение. Спасибо! – Brian

 Смежные вопросы

  • Нет связанных вопросов^_^