estoy tratando de obtener la dirección IP de un dispositivo es decir el uso de conexión WiFi o 3G. Estoy obteniendo la dirección IP en formato IPV6 que no es comprensible. Quiero en formato IPV4 la dirección IP. He hecho google pero no he encontrado ninguna solución adecuada.¿Cómo llego DIRECCIÓN_IP en formato IPV4
aquí es código que estoy usando para obtener la dirección IP de un dispositivo de
public String getLocalIpAddress() {
try {
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();
System.out.println("ip1--:" + inetAddress);
System.out.println("ip2--:" + inetAddress.getHostAddress());
if (!inetAddress.isLoopbackAddress()) {
String ip = inetAddress.getHostAddress().toString();
System.out.println("ip---::" + ip);
EditText tv = (EditText) findViewById(R.id.ipadd);
tv.setText(ip);
return inetAddress.getHostAddress().toString();
}
}
}
} catch (Exception ex) {
Log.e("IP Address", ex.toString());
}
return null;
}
Estoy consiguiendo este ouput:
ip1--:/fe80::5054:ff:fe12:3456%eth0%2
ip2--:fe80::5054:ff:fe12:3456%eth0
Se debe mostrar la siguiente manera:
192.168.1.1
favor me ayude ..
No olvide el permiso para evitar el resultado nulo : –
Vyacheslav
Dónde y qué declarar "ipv4" esto – CrazyMind