La risposta di @paha manca un punto importante:IntentService non è sufficiente. Tra onReceive()
termina e IntentService viene avviato, il telefono potrebbe riaddormentarsi. Hai bisogno di un blocco (statico) per colmare questa lacuna:questo è implementato in WakefulIntentService
di Mark Murpphy
Quindi mantieni AlarmManager e ricevitore ma avvia un WakefulIntentService
dal tuo onReceive()
.
Vedi:
- Sospensione profonda e riattivazione di Android blocca
- Il wakelock di PowerManager non riattiva il dispositivo dal servizio