Отговорът на @paha пропуска важен момент:IntentService не е достатъчен. Между onReceive()
приключва и IntentService се стартира, телефонът може да заспи отново. Имате нужда от (статично) заключване, за да преодолеете тази празнина - това е внедрено в WakefulIntentService
на Mark Murpphy
Затова запазете AlarmManager и приемника, но стартирайте WakefulIntentService
от вашия onReceive()
.
Вижте:
- Заключване на дълбок сън и събуждане на Android
- PowerManager wakelock не събужда устройството от услуга