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.