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?

2 Solutions collect form web for “Android: Cómo configurar una IP estática para una nueva configuración WiFi”

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: Escaneado de redes Wifi + Lista seleccionable
  • Descubrir dispositivos móviles usando wifi
  • Iniciar Androids WiFi-Manager mediante el envío de una intención?
  • Cómo comprobar el Internet real conectado en android?
  • ¿Por qué Android no tiene una dirección MAC para 3g cuando hace iOS?
  • Android :: ¿Cómo desconectarse de una red wifi?
  • Manteniendo Wifi-Direct activado en dispositivos AOSP
  • ¿Puede una red bluetooth o wifi (spp) perder alguna vez los bytes o haber corrompido?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.