Как получить примерное количество времени разговора, времени воспроизведения музыки / видео, времени простоя, которое может быть возможно на основе текущего уровня оставшегося заряда батареи - PullRequest
3 голосов
/ 19 апреля 2011

Я работаю на удивительной платформе Android.Я создаю приложение, которое работает с уровнем заряда аккумулятора телефона. Я показываю текущий уровень заряда аккумулятора телефона, а также несколько других технических моментов. Я хотел получить приблизительное количество разговоров, время воспроизведения музыки / видео, время простоя, которое могло быВозможно, это будет сделано на основе текущего уровня заряда аккумулятора, оставшегося в телефоне. Используя это, пользователь может получить представление о том, что если его уровень заряда аккумулятора составляет 50%, то, возможно, он может сделать еще 2 часа разговора по телефону (или) прослушать 1 час.музыки (или), если телефон не тронут, то он будет длиться около 4 часов.Таким образом, это поможет пользователю. Пожалуйста, помогите мне предложить подход (или) есть ли API для этого .?

Ответы [ 3 ]

0 голосов
/ 19 апреля 2011

Я думаю, что это невозможно сделать.

Как подсказывает @dain, вы можете отслеживать и измерять исторические данные и делать предположения, основываясь на этом, но в качестве всевозможных фоновых процессов (низкий уровень соединения означает много запросов, Wi-Fi или нет, данные в фоновом режиме,новые приложения, вы называете это) влияют на это, поэтому трудно быть точным на основе собранных данных.

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

Какое решение вы используете, я думаю, из-за разницы во всех данных вы получите какое-то среднее значение, которое, вероятно, не будет правильным для текущей ситуации.Вы могли бы уйти с «минимальным» против «максимального» времени на одно действие?

0 голосов
/ 05 июня 2012

окончательное намерение намерение = новое намерение (Intent.ACTION_MAIN, null);intent.addCategory (Intent.CATEGORY_LAUNCHER);final ComponentName cn = new ComponentName ("com.android.settings", "com.android.settings.fuelgauge.PowerUsageSummary");
intent.setComponent (cn);
intent.setFlags (Intent.FLAG_ACTIVITY_NEW_K)startActivity (намерение);

это работает для меня

0 голосов
/ 19 апреля 2011

Не могу сказать наверняка, но я очень сомневаюсь, что для этого будет какой-либо API.

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

...