Przypisz statyczny adres IP dla sieci Wi-Fi na Androidzie 3.x i 4.x.

Pracuję nad jednym projektem i powinna istnieć funkcja ustawiania statycznego adresu IP (DNS, maska ​​sieci, brama)Wifi jeśli użytkownik tego chce.

Moje początkowe i rzeczywiste rozwiązanie to użycieandroid.provider.Settings.System klasa, która pozwala na tę funkcję, ale to rozwiązanie działa z powodzeniem tylko na urządzeniach z Androidem 2.x.

To miłe, zdecydowanie nie jestem całkowicie zerem, ale byłoby miło, gdyby działało ono również dla wyższych wersji Androida. Nie wie dokładnie, dlaczego to nie działa.

Jeśli użyję tej prostej metody do sprawdzenia aktualnego stanu:

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;
    }
}

zwraca wartość true zarówno dla Androida 2.x, jak i dla Androida 4.x, ale w drugim przypadku zmiany z pewnością nie są odzwierciedlaneWifi znalazłemto małe rozwiązanie na stałe ale to nie działało zgodnie z oczekiwaniami.

Czy jest ktoś, kto boryka się z tym samym problemem?

Będę zadowolony z każdego działającego rozwiązania, a także z zakorzenionych urządzeń (może jakieś polecenie w Linuksie), ponieważ łatwo jest sprawdzić status, czy telefon jest zakorzeniony, czy nie.

Z góry dziękuję.

questionAnswers(1)

yourAnswerToTheQuestion