Senden Sie eine Anfrage über WLAN (ohne Verbindung), auch wenn die mobilen Daten auf Android M (mit Verbindung) aktiviert sind.

Ich muss UDP-Pakete ohne Internetverbindung an ein WiFi-Modul (mit eigenem AP) senden, aber wenn ich das Mobiltelefon mit dem AP verbinde, leitet Android meine Pakete auf die mobile Datenschnittstelle um, da diese über eine Internetverbindung verfügt.

Ich habe den folgenden Code verwendet, um meine Arbeit zu erledigen, aber es scheint nicht auf Android M zu funktionieren.

@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());
}

Ich habe auch hinzugefügt

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

Auf meiner AndroidManifest.xml und ich habe mir versichert, dassSettings.System.canWrite(this) kehrt zurücktrue aber immer noch nichts.

Danke im Voraus

Antworten auf die Frage(4)

Ihre Antwort auf die Frage