Моя цель - иметь возможность сканировать изменения в сетях Wi-Fi (в основном, чтобы проверить, какие сети доступны).Правильно знаете, я делаю это, регистрируя приемник:
registerReceiver(wifiReceiver, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION));
, где WifiReceiver
- это мой BroadcastReceiver
.
Проблема в том, что он работает только при включенном телефоне.Как только он переходит в режим ожидания (нажатием кнопки питания или через некоторое время), приемник прекращает прием.Я уже приобрел блокировку wake в onCreate моего основного класса и выпустил ее в onDestroy (это частичная блокировка wake).Кроме того, я попробовал это:
Settings.System.putInt(getContentResolver(),Settings.System.WIFI_SLEEP_POLICY, Settings.System.WIFI_SLEEP_POLICY_NEVER);
, чтобы не дать Wi-Fi спать.К сожалению, это не помогло.
Есть ли возможность сканировать изменения сети, даже когда телефон спит?Я хочу иметь возможность проверить, какие сети находятся в зоне действия (по SSID).Может быть, я должен использовать другое действие?
Ценю вашу помощь.