Прежде всего, существует два вида дозы:
Давайте назовем их легкой дозой и глубокой дозой сна.
Легкая доза начинается через несколько минут после того, как вы оставите свой телефон без зарядки на столе, эта доза ограничит доступ к ряду услуг.
Глубокая дремота сна начинается через 20-30 минут без движения (и все еще не заряжается) и сведет к минимуму использование вашего телефона, он проснется для некоторых уведомлений и звонков.
Режим ожидания отображается только в том случае, если телефон не перемещается, поэтому, когда телефоны перемещаются, он не считается режимом ожидания.
Для вашей проблемы это связано с Android 8, который убивает фоновые сервисы, когда приложение не на переднем плане.
По вашей причине, ваши фоновые службы будут убиты через несколько минут.
Служба определения местоположения будет недоступна, поэтому вы не сможете получать обновления Wi-Fi.
(Ответ здесь будет таким: не боритесь с режимом дремоты, вы проиграете).
Итак, если вы хотите получать обновления сканирования wifi, когда ваше приложение убито или экран выключен:
- Использование JobDispatcher для создания задания, которое будет выполняться каждые x секунд, и получения вашего сканирования. JobDispatcher по-прежнему работает в режиме легкой дозы
- если телефон входит в глубокую дозу, телефон не двигается, и поэтому вы можете сделать вывод, что сканирование будет таким же, и его не нужно будет обновлять, ваша работа возобновится после выхода из режима дозирования.