Enviar solicitação por WiFi (sem conexão), mesmo que os dados móveis estejam ativados (com conexão) no Android M
Preciso enviar pacotes UDP para um módulo WiFi (fornecido com AP próprio) sem conexão à Internet, mas quando conecto o celular ao AP, o Android redireciona meus pacotes na interface de dados móveis, porque ela possui conexão à Internet.
Usei o código abaixo para fazer meu trabalho, mas ele parece não estar funcionando no Android M.
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void setWifiInterfaceAsDefault() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkRequest.Builder builder = new NetworkRequest.Builder();
NetworkRequest networkRequest= builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.build();
connectivityManager.requestNetwork(networkRequest, new ConnectivityManager.NetworkCallback());
}
Eu também adicionei
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
no meu AndroidManifest.xml e me garanti queSettings.System.canWrite(this)
retornatrue
mas ainda nada.
Desde já, obrigado.