IntentService и AlarmManager связь - PullRequest
       3

IntentService и AlarmManager связь

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

Должен ли менеджер аварийных сигналов отправлять PendingIntent в IntentService или лучше отправить его широковещательному получателю, который затем запускает startService (), нацеленный на ожидающее намерение?

1 Ответ

10 голосов
/ 13 февраля 2011

Это зависит от того, является ли это _WAKEUP тревогой или нет.

Если нет, не стесняйтесь использовать getService() PendingIntent.

Если, однако, это сигнал тревоги _WAKEUP, вам нужно не только использовать посредника BroadcastReceiver, но BroadcastReceiver также должен получить WakeLock, который IntentService позднее выпускает. Требование BroadcastReceiver обусловлено тем, как AlarmManager обрабатывает свою собственную WakeLock. Я обернул все это как WakefulIntentService, чтобы упростить реализацию.

...