Svaret från @paha missar en viktig punkt:IntentService är inte tillräckligt. Mellan onReceive()
avslutas och IntentService startas kan telefonen somna om igen. Du behöver ett (statiskt) lås för att överbrygga detta gap - detta är implementerat i Mark Murpphys WakefulIntentService
Så behåll AlarmManager och mottagare men starta en WakefulIntentService
från din onReceive()
.
Se:
- Android djupsömn och wake locks
- PowerManager wakelock väcker inte enheten från tjänst