Почему для беспроводного соединения API уровня 29 требуется пароль? - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь подключиться к устройству IoT, которое обменивается данными через точку доступа, на которой он находится (в одной комнате может быть несколько устройств IoT). В API старше 29 я использовал WifiManager методы для подключения к устройству. Теперь они устарели, и предлагаемый способ - использовать ConnectivityManager и его requestNetwork метод.

Здесь я предоставляю экземпляр WifiNetworkSpecifier, который, как следует из названия, указывает шаблон имени сети ( префикс в моем случае) и пароль. Это приводит к системному диалоговому окну, которое ищет подходящие сети и где пользователь выбирает предпочитаемую сеть.

Моя проблема с этим заключается в том, почему API предполагает, что пароли на всех соответствующих точках доступа WiFi одинаковы, и требует, чтобы они были указаны заранее ( перед диалогом сканирования). Передача спецификатора WiFiNetworkSpecifier без пароля приводит к диалоговому окну, которое сканирует Открытые сети, которые совпадают по имени, что не является моим вариантом использования.

Есть ли способ заставить Android запрашивать пароль после выбора пользователем пункт в этом диалоге сканирования?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...