Weisen Sie dem Wifi-Netzwerk unter Android 3.x und 4.x eine statische IP-Adresse zu

Ich arbeite an einem Projekt und es sollte eine Funktionalität zum Einstellen der statischen IP-Adresse (DNS, Netmask, Gateway) für gebenWifi wenn der Benutzer es will.

Meine anfängliche und tatsächliche Lösung ist eine Verwendung vonandroid.provider.Settings.System Klasse, die diese Funktion zulässt, diese Lösung jedoch nur für Android 2.x-Geräte erfolgreich funktioniert.

Es ist schön, auf jeden Fall bin ich nicht auf Null, aber es wäre schön, wenn es auch für höhere Versionen von Android OS funktionieren würde. Es weiß nicht genau, warum es nicht funktioniert.

Wenn ich diese einfache Methode verwende, um den aktuellen Status zu überprüfen:

public static final boolean hasStaticIp(Context c) {
    try {
        return Settings.System.getInt(c.getContentResolver(), 
                                        Settings.System.WIFI_USE_STATIC_IP) == 1;
    }
    catch (SettingNotFoundException e) {
        Log.i(TAG, "Settings not found (" + e.geMessage() + ")");
        return false;
    }
}

Es gibt sowohl für Android 2.x als auch für Android 4.x true zurück, aber im zweiten Fall werden Änderungen definitiv nicht berücksichtigtWifi ich fandDies ist eine kleine, hartkodierte Lösung aber es hat nicht wie erwartet funktioniert.

Gibt es jemanden, der mit dem gleichen Problem konfrontiert ist?

Ich freue mich über jede funktionierende Lösung und auch über gerootete Geräte (möglicherweise einige Befehle unter Linux), da es einfach ist, den Status zu überprüfen, ob das Mobiltelefon gerootet ist oder nicht.

Danke im Voraus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage