viernes, 18 de marzo de 2011

método para sacar la IP del Android

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