Фильтр сканирования WifiManager возможен?
Я пытаюсь проверить силу нескольких беспроводных сигналов. Для этого я использую WifiManager, в цикле я вызываю startScan(), и у меня есть широковещательный приемник для получения результатов.
Мой вопрос:
Как я могу сделать сканирование ТОЛЬКО для некоторых сетей? В результате я получаю все доступные сети. Могу ли я отфильтровать сканирование для поиска только некоторых bssids? или ссид? Я не забочусь о других ценностях, чем те из моих AP. И мне нужно сделать это сканирование с максимально возможной частотой.
Другое дело: при повторном вызове startScan (через 500 мс после предыдущего вызова) сканирование останавливается? Потому что я хочу максимально уменьшить частоту получения сигналов и кажется, что результаты иногда являются неполными??
Можно ли изменить исходный код класса WifiManager для фильтрации сканирования по некоторым идентификаторам?
Большое спасибо!
1 ответ
Нет, вы не можете установить фильтр, но вы можете отфильтровать результаты позже для себя, что не должно сильно повлиять на производительность (фильтрация списка с < 100 записями). Кроме того, по моему опыту, если вы запрашиваете сканирование, когда сканирование уже выполняется, новое сканирование не инициируется. Поэтому нет смысла начинать новое сканирование до того, как последнее сканирование вернуло результаты. Вы также не можете изменить WifiManager, так как он является частью платформы Android.