Выводит ли AlarmManager устройство из режима ожидания?

Действительно ли setAndAllowWhileIdle() или setExactAndAllowWhileIdle() выводит устройство из спящего режима? И снимает ли это ограничение на доступ к сети?


person Tsunaze    schedule 04.09.2018    source источник
comment
Нет, для пробуждения устройства из спящего режима с помощью менеджера тревог необходимо использовать метод setAlarmClock(). Проверьте полный ответ здесь   -  person Jaydip Kalkani    schedule 04.09.2018
comment
Но если я использую WorkManager, он все равно запустится? Но без подключения к интернету, так как мы все еще будем в режиме Doze?   -  person Tsunaze    schedule 04.09.2018
comment
Я не понял, что вы хотите сделать... но позвольте мне объяснить, как работает метод setAlarmClock(). Если вы используете setAndAllowWhileIdle() или setExactAndAllowWhileIdle() и если ваше устройство находится в спящем режиме, оно не будет транслировать тревогу. Вместо этого он будет ждать, пока пользователь не включит экран и устройство не вернется в нормальный режим. Теперь, если вы используете метод setAlarmClock() и если ваше устройство находится в спящем режиме... тогда оно также будет запускать трансляцию. На самом деле метод setAlarmClock() выводит ваше устройство из спящего режима до некоторого времени вашего будильника.   -  person Jaydip Kalkani    schedule 04.09.2018
comment
Я хочу включить будильник даже в спящем режиме и выполнить некоторую работу, требующую подключения к Интернету (загрузка). В справке для разработчиков Android указано: setExactAndAllowWhileIdle: аналогично setExact(int, long, PendingIntent), но этому сигналу будет разрешено выполняться, даже когда система находится в режимах ожидания с низким энергопотреблением. Если вам не нужно точное расписание оповещения, но все же необходимо выполнить его в режиме ожидания, рассмотрите возможность использования setAndAllowWhileIdle(int, long, PendingIntent).   -  person Tsunaze    schedule 04.09.2018
comment
Хорошо, тогда понятно. Вы можете использовать метод setAlarmClock(), как указано здесь. Это включит тревогу даже в спящем режиме, а внутри вашего широковещательного приемника для менеджера тревог вы можете написать логику загрузки файла. Вот и все.   -  person Jaydip Kalkani    schedule 04.09.2018