Según he realizado las pruebas oportunas me devuelve la IP privada si estoy por Wifi. Los métodos clásicos getHostAddress... sacan la IP 127.0.0.1 la forma de implementarlo sería incluir este método. Recoge todas las interfaces y de ellas busca la dirección IP de usamos en este momento. La cual nos la devuelve en una cadena de texto.
public String localIpAddress(){
try{
for(Enumeration<NetworkInterface> lista=NetworkInterface.getNetworkInterfaces(); lista.hasMoreElements();){
NetworkInterface interfaces= lista.nextElement();
for(Enumeration<InerAddress> listaIpAddr=interfaces.getInetAddresses(); listaIpAddr.hasMoreElements();){
InetAddress inetAddr = listaIpAddr.nextElement();
if(!inetAddr.isLoopbackAddress()){
return inetAddr.getHostAddress().toString();
}
}
}
}catch (SockertException ex){
//Error!!!!!!!!!!!!!!!!!!!!!!!!
}
return null;}
Y listo!!! String myIP=localIpAddress(); y obtendremos myIP
public String localIpAddress(){
try{
for(Enumeration<NetworkInterface> lista=NetworkInterface.getNetworkInterfaces(); lista.hasMoreElements();){
NetworkInterface interfaces= lista.nextElement();
for(Enumeration<InerAddress> listaIpAddr=interfaces.getInetAddresses(); listaIpAddr.hasMoreElements();){
InetAddress inetAddr = listaIpAddr.nextElement();
if(!inetAddr.isLoopbackAddress()){
return inetAddr.getHostAddress().toString();
}
}
}
}catch (SockertException ex){
//Error!!!!!!!!!!!!!!!!!!!!!!!!
}
return null;}
Y listo!!! String myIP=localIpAddress(); y obtendremos myIP
No hay comentarios:
Publicar un comentario