La réponse de @paha passe à côté d'un point important :IntentService ne suffit pas. Entre onReceive()
se termine et que IntentService est démarré, le téléphone peut se rendormir à nouveau. Vous avez besoin d'un verrou (statique) pour combler cet écart - ceci est implémenté dans le WakefulIntentService
de Mark Murpphy
Gardez donc l'AlarmManager et le récepteur mais lancez un WakefulIntentService
de votre onReceive()
.
Voir :
- Veille profonde Android et wakelocks
- PowerManager wakelock ne réveille pas l'appareil du service