Я выполняю фоновый процесс, который будет обновлять информацию, которую использует мое приложение. Я хочу, чтобы этот процесс обновлялся один раз в день, если процесс получает данные более новыми, чем то, что было до того, как я хочу представить пользователю уведомление, точно так же, как и твиттер /gmail.
Я хочу, чтобы процесс обновления запускался автоматически, даже если основное приложение не открыто.
Является ли Service
лучшим способом? Я читал довольно много об этом, я решил, что служба работает все время для чего-то, что только будет делать работу один раз в день, кажется, немного переборщит.
Однако я постоянно замечаю, что google запускает службу для друзей и службы google+ на моей связи.
Я смотрю на запуск моего сервиса через AlarmManager, поэтому он запускается только тогда, когда это необходимо. Некоторые сообщения также предлагают использовать класс Handler
, я не думаю, что это сработает.
Просто ищите лучшую практику здесь.
Я решил, что служба работает все время для чего-то, что только собирается делать работу один раз в день, кажется, немного переборщит.
Абсолютно.
Я смотрю на запуск моего сервиса через AlarmManager, поэтому он запускается только тогда, когда это необходимо.
Это правильный ответ.
Если вы хотите, чтобы ваш код IntentService
, если устройство IntentService
, IntentService
, выполняйте свою работу в onHandleIntent()
, и AlarmManager
запускает службу по вашему желаемому графику.
Если вы хотите, чтобы ваш код заставлял телефон проснуться, вы можете это сделать, но вам нужно будет использовать _WAKEUP
-style, и вы, вероятно, захотите посмотреть мой WakefulIntentService
, предназначенный для обработки этого шаблона.