Возможно ли фильтровать сканирование WifiManager?

Я пытаюсь просканировать силу нескольких беспроводных сигналов. Для этого я использую WifiManager, в цикле вызываю startScan(), и у меня есть широковещательный приемник для получения результатов.

Мой вопрос:

Как сделать сканирование ТОЛЬКО для некоторых сетей? В результатах получаю все доступные сети. Могу ли я фильтровать сканирование, чтобы искать только некоторые bssid? или ссид? Меня не интересуют другие значения, кроме значений моих AP. И мне нужно сделать это сканирование с максимально возможной частотой.

Другое дело: когда я снова вызываю startScan (через 500 мс после предыдущего вызова), сканирование останавливается? Потому что я хочу максимально уменьшить частоту получения сигналов, и кажется, что результаты иногда бывают неполными ??

Можно ли изменить исходный код класса WifiManager, чтобы отфильтровать сканирование по некоторым идентификаторам?

Большое спасибо!


person Androide.B    schedule 02.05.2011    source источник


Ответы (1)


Нет, вы не можете установить фильтр, но вы можете отфильтровать результаты позже самостоятельно, что не должно сильно сказаться на производительности (фильтрация списка с ‹ 100 записями). Кроме того, по моему опыту, если вы запрашиваете сканирование, когда сканирование уже выполняется, новое сканирование не инициируется. Поэтому нет смысла начинать новое сканирование до того, как предыдущее сканирование принесло результаты. Вы также не можете изменить WifiManager, поскольку он является частью платформы Android.

person Stephan    schedule 02.05.2011
comment
Спасибо за Ваш ответ. Я уже сам фильтрую результаты. Но я хотел повысить производительность, остановив сканирование, когда моя точка доступа будет найдена. - person Androide.B; 03.05.2011