2010-12-01 2 views
3

Итак, есть способы получить текущие уровни заряда батареи через слушателя. Тем не менее, это дает вам значения текущего состояния батареи телефона, но нет индикатора того, насколько быстрым/медленным является скорость, с которой батарея сливается.Оценка времени до полного разряда батареи для телефонов Android

Каков был способ оценить оставшееся время до исчерпания батареи? Можете ли вы сделать что-нибудь, зная, что такое напряжение? Или, возможно, отслеживать скорость, с которой батарея течет в течение определенного периода времени, а затем экстраполировать ее?

Большое спасибо.

ответ

5

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

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

+0

Значит, круглый массив содержит N ранее записанных значений СКОРОСТИ истощения? Поэтому каждый раз, когда уровень заряда батареи изменяется на уровень L, он вычисляет L/(currentTime-lastChangeTime) как скорость R1 и сохраняет его? Итак, я бы использовал эту скорость R1, чтобы оценить, сколько времени потребуется для того, чтобы оставшиеся уровни T истощились. Спасибо за помощь, и дайте мне знать, если я ничего не понял! – mMx 2010-12-03 00:36:34

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