Могу ли я сделать Android только сканирование для определенных сетей Wi-Fi? - PullRequest
0 голосов
/ 17 апреля 2020

Я разрабатываю приложение, которое настраивает несколько устройств, которые разрабатывает компания. Каждое устройство открывает точку доступа, и для ее настройки мне необходимо подключиться к каждому устройству.

У меня проблема, когда в этом районе доступно много сетей Wi-Fi, потому что мое устройство Android сохраняет потеря соединения с устройством для настройки, и это нарушает процесс. Я настроил широковещательный приемник для повторного подключения к устройству при разрыве соединения, но этого недостаточно.

Я хочу знать, есть ли способ «игнорировать» все доступные сети, которые не с устройства для настройки, чтобы улучшить мой процесс настройки.

Извините за плохой английский sh. Спасибо

1 Ответ

0 голосов
/ 17 апреля 2020

Вы не можете скрыть сети в настройках android и, начиная с android 10 (targetdk 29), вы не можете принудительно установить соединение с Wi-Fi из своего приложения.

Устройства с android 10 и выше могут использовать API предложения Wi-Fi для автоматического добавления учетных данных Wi-Fi в настройки системы и отображения его в качестве рекомендуемой сети. Это также создаст уведомление: Example of a notification from the android Wi-Fi suggestion API

Смотрите пример здесь из моего ответа в другом сообщении:

// This only works with Android 10 and up (targetsdk = 29 and higher):
import android.net.wifi.WifiManager
import android.net.wifi.WifiNetworkSuggestion
...
val wifiManager = getSystemService(WIFI_SERVICE) as WifiManager
val networkSuggestion = WifiNetworkSuggestion.Builder()
    .setSsid("MyWifi")
    .setWpa2Passphrase("123Password")
    .build()
val list = arrayListOf(networkSuggestion)
wifiManager.addNetworkSuggestions(list)
...