Получить список доступных точек Wi-Fi

#android #list #wifi

#Android #Список #Wi-Fi

Вопрос:

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

Есть ли какой-либо способ отобразить все текущие доступные точки Wi-Fi в списке?

Заранее спасибо

Ответ №1:

Взгляните на методы WifiManager класса. В частности, getScanResults() метод вернет результаты последнего сканирования сетей Wi-Fi. Имейте в виду, что getConfiguredNetworks() возвращает только те сети, которые были настроены пользователем заранее (т. Е. был предоставлен пароль для защищенной сети и т.д.).

Комментарии:

1. Спасибо за быстрый ответ! Будете ли вы также знать, когда устройство снова выполнит сканирование? Я также сомневаюсь, показывать ли всплывающий список с доступными подключениями, а затем я хочу подключиться к выбранному, если это возможно, или просто показать экран настроек беспроводной сети.

2. Вы можете выполнить сканирование с помощью startScan() команды и зарегистрировать приемник для событий, которые он запускает (см. Документацию). Но я бы просто запустил экран настроек беспроводной сети, чтобы позволить пользователю выбрать сеть Wi-Fi. Таким образом, пользователь может просто использовать пользовательский интерфейс, который он привык использовать в таких случаях.

3. Я успешно протестировал WifiManager, startScan () и getScanResults, но из-за большого количества дополнительных данных я собираюсь перейти к экрану настроек беспроводной сети. Спасибо за решение!

4. Могу ли я задать другой вопрос, это немного не по теме. Итак, я запускаю экран настроек беспроводной сети, подключаюсь к точке Wi-Fi и нажимаю ответ. Обычно действие выполняется onResume методом, при котором я снова загружаю свои твиты. Но только, он не будет их загружать. Этот onresume метод работает для любого другого действия, которое я запускаю.

5. Извините, я понятия не имею об этом. Возможно, лучше всего задать совершенно новый вопрос по этой проблеме.

Ответ №2: