Есть ли способ получить уведомление, когда известные Wi-Fi сети SSIS входят / выходят из диапазона? - PullRequest
12 голосов
/ 12 мая 2011

Я хочу написать приложение, которое состоит в выполнении действий, когда известные сети Wi-Fi входят или выходят из диапазона.

Например, предположим, что SSIS моей домашней Wi-Fi-сети называется «WifiHome», и я хочу сделать уведомление «Вы только что ушли из дома!» всякий раз, когда устройство не может обнаружить эту конкретную сеть больше. (Или альтернативно - «Вы только что вошли в дом», когда устройство повторно обнаруживает сигналы из этой сети).

Мой вопрос: Возможно ли прослушать эти изменения без частого опроса списка доступных сетей?

1 Ответ

13 голосов
/ 12 мая 2011

Вы должны прослушать событие трансляции SCAN_RESULTS_AVAILABLE_ACTION . Это будет отправлено каждый раз, когда сканирование Wi-Fi закончено. Когда такое событие происходит, просто повторите результаты сканирования, которые можно получить с помощью getScanResults .

WifiManager.

Когда активен Wi-Fi, вы будете получать эту трансляцию каждые несколько секунд. Но нет никакого способа настроить этот интервал, и я предполагаю, что каждый производитель может изменить этот интервал.

Вы можете вручную запустить сканирование Wi-Fi, используя WifiManager startScan .

...