Obtener la dirección IP del equipo en un proyecto de Android utilizando java

Estoy usando ksoap2-android y necesito obtener la dirección IP usando java para que no tenga que escribirlo manualmente cada vez.

Lo que quiero decir con la dirección IP es, por ejemplo, si hago ipconfig usando el comando shell:
Sufijo DNS específico de la conexión. :
Link-local Dirección IPv6. . . . . : F0 :: ed2: e3bf: 8206: 44% 13
Dirección IPv4. . . . . . . . . . . : 192.168.1.107 <- ESTE
Máscara de subred . . . . . . . . . . . : 255.255.255.0
Puerta de enlace predeterminada . . . . . . . . . : 192.168.1.1

La cosa es desarrollar una aplicación android, y el emulador tiene un tipo diferente de IP que la de la máquina.
Necesito obtener la IP de la máquina, ¿cómo se puede hacer esto?

muchas gracias

public String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface .getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr = intf .getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress()) { return inetAddress.getHostAddress().toString(); } } } } catch (SocketException ex) { Log.e(tag, ex.toString()); } return ""; } 

Para obtener el Ipaddress de su dispositivo Android, utilice este código.

 WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ipAddress = wifiInfo.getIpAddress(); String ip = intToIp(ipAddress); public String intToIp(int i) { return ((i >> 24 ) & 0xFF ) + "." + ((i >> 16 ) & 0xFF) + "." + ((i >> 8 ) & 0xFF) + "." + ( i & 0xFF) ; } 

Pruebe este enlace

http://www.droidnova.com/get-the-ip-address-of-your-device304.html

También puedes probar este comando adb shell netcfg

 InetAddress iA=InetAddress.getLocalHost(); System.out.println(iA.getHostAddress()); 

Ver también

  • getHostAddress()
  • vuforia AR SDK - no se puede reproducir video por url
  • Android: Dex no puede analizar código de byte de versión 52
  • Cómo dibujar un mapa de bits en la parte superior derecha de la lona
  • Android ImageView rotativo
  • IntentService: ¿por qué mi onHandleIntent nunca se llama?
  • La aplicación de conversión de Android se bloquea en convertir
  • Cifrado en Android usando el algoritmo RSA con módulo dado y exponente
  • Cómo recuperar una lista específica de datos de firebase
  • ¿Pueden las aplicaciones de Android usar jarras compuestas java 8?
  • No puedo entender es terminar
  • No se puede resolver el método 'show (android.support.v4.app.FragmentManager, java.lang.String)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.