Detectar la dirección IP wifi en Android?

Necesito determinar si el dispositivo Android está conectado a Wifi, y si es así, obtenga su dirección IP Wifi.

Sé cómo utilizar ConnectivityManager para determinar si la red activa es una red Wifi, y sé cómo utilizar java.net.NetworkInterface para iterar sobre las interfaces de red disponibles y obtener sus direcciones IP.

Lo que no sé hacer es determinar qué dirección IP pertenece a la red Wifi, si hay más de una dirección encontrada. ¿Algún consejo?

Gracias.

3 Solutions collect form web for “Detectar la dirección IP wifi en Android?”

public String getIpAddr() { WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ip = wifiInfo.getIpAddress(); String ipString = String.format( "%d.%d.%d.%d", (ip & 0xff), (ip >> 8 & 0xff), (ip >> 16 & 0xff), (ip >> 24 & 0xff)); return ipString; } 

Nota : Es necesario agregar android.permission.INTERNET y android.permission.ACCESS_WIFI_STATE en su AndroidManifest.xml como <user-permission/> para acceder al código.

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

Prueba este código.

 ConnectivityManager connec = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); //To fetch the state of the Wi-Fi network in the device Boolean isWifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting(); WifiManager wifiMgr = (WifiManager) getBaseContext().getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiMgr.getConnectionInfo(); //To fetch the name of the Wi-Fi network to which the device is connected String wifiName = wifiInfo.getSSID(); 
 static final int IP_ADDRESS_LENGTH = 32; public static Integer getSystemWifiIpAddress(Context context) { WifiManager wManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo wInfo = wManager.getConnectionInfo(); int ipAddress = wInfo.getIpAddress(); if (ipAddress == 0) return null; return ipAddress; } 
  • ¿Cómo determinar qué estándar es utilizado por wifi ap / network?
  • Detección de redes WiFi abiertas
  • Aumento de la velocidad de análisis WiFi
  • Android :: ¿Cómo desconectarse de una red wifi?
  • Android Compruebe si hay WiFi pero no Internet
  • Java.net.SocketException: recvfrom falló: ECONNRESET (Conexión restablecida por pares) Más de WIFI
  • Android: detecta si Wifi requiere acceso al navegador
  • LocationManager devuelve la antigua ubicación en caché "Wifi" con la marca de hora actual
  • Conexión WiFi a través de Android
  • WiFi-Direct en JellyBean, WPA Suplicante desordenado
  • Cómo obtener la dirección MAC en Android 6.0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.