Android: Cómo configurar una IP estática para una nueva configuración WiFi

Nuevamente atascado en el mismo problema.

He encontrado alrededor de que podemos establecer la configuración del sistema estático como este:

System.putString(getContentResolver(), android.provider.Settings.System.WIFI_USE_STATIC_IP, "1"); // to define it use static ip's System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_IP,"192.168.1.15"); System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_NETMASK,"255.255.255.0"); System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS1,"192.168.1.1"); System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_GATEWAY,"192.168.1.1"); 

Pero no hay éxito!

No entiendo que cuando para establecer esta configuración?

¿Debo hacerlo antes de la creación de configuración wifi o después de guardar la configuración wifi o incluso antes de activarlo o después de él?

Sin embargo, he intentado todos los casos posibles de mi lado y cuando compruebo la configuración de Android WiFi, veo que todavía está en DHCP.

Una pregunta anterior, es decir, cómo configurar una dirección IP estática, máscara de red, puerta de enlace de forma programática en Android 3.x o 4.x ha arruinado completamente mi dispositivo Android y ahora no puede encender su WiFi ya.

También intenté la IP estática en mi teléfono de HTC y ningún éxito, su siempre en modo de DHCP!

¿Necesito llamar a un comando de " volver a conectar "? En caso afirmativo, ¿de qué manera?

Creo que debería ser como:

 android.provider.Settings.System.putString(getContentResolver(),android.provider.Settings.System.WIFI_STATIC_IP,"192.168.1.15"); android.provider.Settings.System.putString(getContentResolver(),android.provider.Settings.System.WIFI_STATIC_DNS1, "192.168.1.1"); android.provider.Settings.System.putString(getContentResolver(),android.provider.Settings.System.WIFI_STATIC_GATEWAY, "192.168.1.1"); android.provider.Settings.System.putString(getContentResolver(),android.provider.Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0"); android.provider.Settings.System.putString(getContentResolver(),android.provider.Settings.System.WIFI_USE_STATIC_IP, "1"); 

Y no olvide el manifiesto:

 <uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission> 

Con respecto al problema de WiFi que su dispositivo tenía, puede intentar cambiar el WIFI de forma programática. Esta publicación podría ser útil: ¿Cómo desactivar programaticamente WiFi en dispositivo Android?

Después de más de un año, me doy por vencido con la configuración de un IP estático (o DHCP, DNS, …). Simplemente no es posible, o, mejor, no está permitido (de una aplicación arbitraria).

Alguien dice:

"Usted podría utilizar NDK – esto le da acceso de bajo nivel a Linux bajo Android." Advertencia: no espere que esto sea documentado o apoyado. Incluso podría prohibirle de Android Market (sé que lo haría) "

Para aquellos que quieren tener algunos expriences con NDK, aquí está el enlace a:

http://developer.android.com/tools/sdk/ndk/index.html

Buena suerte, y dar algunos comentarios si encuentra algo interesante!

  • Android: comprueba si la contraseña del wifi es correcta
  • Detenga la conexión de Android a ciertas redes wifi
  • Especifique el canal (o frecuencia) para la exploración Wi-Fi en Android
  • Android: Determinar el tipo de seguridad de las redes wifi en el rango (sin conectarse a ellos)
  • ADB, Wifi y Eclipse: ¿cómo puedo configurar?
  • Manteniendo Wifi-Direct activado en dispositivos AOSP
  • Wifi Connect-Desconectar de escucha
  • Habilitar / deshabilitar wifi mediante scripts bash en Android
  • Android wifi permiso
  • ¿Cómo compartir programaticamente la pantalla del dispositivo Android con otra vía wifi? (No captura de pantalla)
  • Analizar todos los dispositivos wifi cerca del teléfono
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.