警报管理器是否应该将PendingIntent发送给IntentService,还是最好将其发送给广播接收者,广播接收者然后发出针对待定意图的startService()?
答案 0 :(得分:10)
这取决于这是否是_WAKEUP
警报。
如果没有,请随时使用getService()
PendingIntent
。
但是,如果它是_WAKEUP
警报,您不仅需要使用BroadcastReceiver
中介,而且BroadcastReceiver
还必须获得WakeLock
IntentService
以后的版本。 BroadcastReceiver
要求归因于AlarmManager
处理自己的WakeLock
的方式。我把所有这些都包装成WakefulIntentService
以简化实现。