В Android Q, я могу сканировать, выбирать и подключаться к Wi-Fi через программно. Но я не могу получить inte rnet через подключенный Wi-Fi, хотя у него есть inte * access.
Ниже мой код:
val wifiNetworkSpecifier = WifiNetworkSpecifier.Builder()
.setSsid("Wifi-SSID")
.setWpa2Passphrase("WiFi-password")
.build()
val networkRequest = NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.setNetworkSpecifier(wifiNetworkSpecifier)
.build()
var connectivityManager =
applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
var connectivity = object : ConnectivityManager.NetworkCallback() {
override fun onAvailable(network: Network) {
Log.d("TAG: ", "Connected")
connectivityManager.bindProcessToNetwork(network)
super.onAvailable(network)
}
override fun onUnavailable() {
super.onUnavailable()
Log.d("TAG: ", "Not able to connect")
}
override fun onLost(network: Network) {
Log.d("TAG: ", "Connection lost")
}
}
connectivityManager?.requestNetwork(networkRequest, connectivity)
ТИА