Я пытаюсь подключиться к определенной 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, пока приложение находится в памяти (по крайней мере, я так понимаю).