Сервис должен загружать данные каждый час - PullRequest
3 голосов
/ 17 января 2012

Вопрос


Я создаю сервис для своего приложения, но, возможно, есть очень простая вещь, которую я не могу понять. Лучше я скажу, что не знаю, как это сделать, вероятно.

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

С наилучшими пожеланиями

1012 * сафари *

Ответы [ 3 ]

2 голосов
/ 17 января 2012

Вы можете использовать AlarmManager, чтобы начать процедуру.Прежде всего вам необходимо проверить текущее время, то есть текущий час, который вы можете получить, используя Calender.HOUR_OF_DAY.Затем вы можете проверить, что текущий час находится в диапазоне от 6 до 18. Если условие удовлетворяет, вы можете обновить данные, иначе вы можете отменить сигнал и снова установить его на следующий период.

1 голос
/ 17 января 2012

Создайте сигнал тревоги, который при срабатывании обновляет ваши данные и устанавливает новый сигнал тревоги один из наших (или 13 часов) в будущем, в зависимости от текущего времени (после 18:00).Смотрите здесь для получения дополнительной информации о менеджере Alram: http://developer.android.com/reference/android/app/AlarmManager.html

0 голосов
/ 17 января 2012

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

...