Подключение к указанному c Wi-Fi в android 10 - PullRequest
2 голосов
/ 12 февраля 2020

Я пытаюсь подключиться к определенной c сети Wi-Fi в android 10. У меня уже есть учетные данные, доступные для меня, и я добавляю предложение сети:

val suggestion = WifiNetworkSuggestion.Builder()
    .setSsid("ssid")
    .setWpa2Passphrase("password")
    .build()

wifiManager.removeNetworkSuggestions(mutableListOf(suggestion))
when (wifiManager.addNetworkSuggestions(mutableListOf(suggestion))) {
    WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS -> {
        networkAdded()
    }
    WifiManager.STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE -> {
        networkDuplicate()
    }
    else -> {
        networkAddFailed()
    }
}

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

Новая сеть не отображается в моем списке сохраненных сетей, и если я нахожу ее в списке сканирования Wi-Fi и нажимаю на нее, она рассматривает это как новую сеть.

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

Я также пытался использовать ConnectivityManager для принудительного подключения, но это не добавляет фактического постоянного подключения Wi-Fi. Он предназначен только для принудительного подключения к указанному приложению c, пока приложение находится в памяти (по крайней мере, я так понимаю).

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