Где лучше всего запланировать AlarmManager для периодической синхронизации фоновых данных? - PullRequest
1 голос
/ 03 февраля 2011

Мое приложение Android будет периодически опрашивать сервер, чтобы проверить данные. Я хочу, чтобы этот опрос происходил независимо от взаимодействия пользователя с приложением, аналогично (по идее) тому, как приложения Gmail и Google Reader синхронизируют данные в фоновом режиме. После установки приложения эти периодические синхронизации должны начаться. Я не думаю, что планирование сигнализации изнутри Activity - это путь, потому что я не хочу ждать, пока пользователь откроет мое приложение.

Какова наилучшая практика в этом случае для вызова AlarmManager.setInexactRepeating?

Некоторые возможности, о которых я мог подумать:

  • Расширить Application и сделать это в onCreate
  • Выполните планирование из Service, установленного в android:enabled=true в манифесте.
  • Прослушивание некоторых конкретных широковещательных сообщений и расписание из получателя

Ответы [ 2 ]

3 голосов
/ 03 февраля 2011

Создайте при загрузке приемник и используйте его для запуска службы, которая планирует тревогу. Проверьте эту ссылку: http://www.thetekblog.com/?p=77

0 голосов
/ 08 мая 2011

"Выполните планирование из Службы, для которой в манифесте установлено значение android: enabled = true."

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

...