Подключение к определенной сети Wi-Fi, которая не имеет интернет программно с устройства, работающего на Android Oreo - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь переключиться на сеть 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();

спасибо за ваше время. Все предложения очень ценятся.

...