Atribuir endereço IP estático para rede Wi-Fi no Android 3.xe 4.x

Estou trabalhando em um projeto e deve haver uma funcionalidade para configurar o endereço IP estático (DNS, Netmask, Gateway) paraWifi se o usuário quiser.

Minha solução inicial e atual é um uso deandroid.provider.Settings.System classe que permite esse recurso, mas essa solução funciona com êxito apenas para dispositivos Android 2.x.

É bom, definitivamente eu não estou totalmente em zero, mas seria bom fazê-lo funcionar também para versões superiores do sistema operacional Android. Não sabe exatamente porque não funciona.

Se eu usar este método simples para verificar o status atual:

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

ele retorna verdadeiro tanto para o Android 2.x quanto para o Android 4.x mas, no segundo caso, as mudanças definitivamente não se refletemWifi eu encontreiesta é uma solução pouco codificada mas não funcionou como esperado.

Existe alguém que enfrentou o mesmo problema?

Eu ficarei feliz por qualquer solução de trabalho e também por dispositivos baseados em root (talvez algum comando no linux), já que é fácil verificar o status do celular estar enraizado ou não.

Desde já, obrigado.

questionAnswers(1)

yourAnswerToTheQuestion