Назначьте статический IP-адрес для сети Wi-Fi на Android 3.x и 4.x

Я работаю над одним проектом и должен быть функционал для установки статического IP-адреса (DNS, Netmask, Gateway) дляWifi если пользователь хочет это.

Мое первоначальное и актуальное решение это использованиеandroid.provider.Settings.System Класс, который позволяет эту функцию, но это решение успешно работает только для устройств Android 2.x.

Это хорошо, определенно я не на нулевом уровне, но было бы неплохо заставить его работать и для более высоких версий ОС Android. Не знаю точно, почему это не работает.

Если я использую этот простой метод для проверки фактического статуса:

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

он возвращает true как для Android 2.x, так и для Android 4.x, но во втором случае изменения определенно не отражаются вWifi я нашелэто немного жестко закодированное решение но это не сработало, как ожидалось.

Кто-нибудь сталкивался с такой же проблемой?

Я буду рад любому работающему решению, а также рутованным устройствам (возможно, какой-то команде в linux), так как легко проверить статус рут-телефона или нет.

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос