Я использую
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, 0, DURATION, broadcast);
Запланировать повторяющуюся задачу, которая должна выполняться только в том случае, если устройство не спит. Насколько я понимаю API в AlarmManager, намерение будет вызываться после того, как устройство проснется от сна.
Теперь, когда устройство Android спит? Для тестирования я установил продолжительность до двух минут и подключил устройство к моей машине. Теперь я смотрю logcat, и каждые две минуты он выплескивает мое сообщение об отладке.
Я всегда думал, что дезактивированный экран означает, что устройства начинают спать. Или я смотрю на вывод отладки, препятствующий спятию устройства? Я также отключил USB-соединение и просмотрел журнал через полчаса, и я мог видеть вызов моего таймера, даже если дисплей был темным более 15 минут.
Как я могу проверить, с какого времени команда больше не выполняется, а что спящий - в документации AlarmManager? Есть ли способ увидеть из вывода logcat, когда устройство засыпало?