Я пытаюсь переключиться на сеть Wi-Fi, которая не имеет интернета (т.е. отключиться от текущей сети и подключиться к нужной сети) на Android Oreo. Для целевого SDK меньше 24, addNetwork
и enablenetwork(netID, true)
используются для нормальной работы. Но для targetdk> 24 enableNetwork
больше не работает, даже если возвращает true.
Я знаю, что нам нужно использовать bindProcessToNetwork()
/ openConnection
для этой проблемы. Но NetworkRequest Builder не может вернуть сетевое событие, хотя устройство ранее подключилось к требуемой сети Wi-Fi в режиме обратного вызова onAvailable
. Было бы очень полезно, если бы кто-то смог пролить свет на эту проблему.
официальный документ об изменениях поведения wifi:
https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-network
Код для NetworkRequest Builder:
NetworkRequest networkRequest = new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_WIFI).
removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED).
removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).
setNetworkSpecifier(networkSSID).
build();
спасибо за ваше время. Все предложения очень ценятся.