본문 바로가기

카테고리 없음

3G / Wifi 상황에서 IP 가져오기

출처 : http://blog.naver.com/ziippy/120138070384

 

    public String getLocalIpAddress()
    {
     final String IP_NONE = "N/A";
     final String WIFI_DEVICE_PREFIX = "eth";
    
     String LocalIP = IP_NONE;
     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()) {
                     if( LocalIP.equals(IP_NONE) )
                        LocalIP = inetAddress.getHostAddress().toString();
                     else if( intf.getName().startsWith(WIFI_DEVICE_PREFIX) )
                        LocalIP = inetAddress.getHostAddress().toString();
                    }
                }
            }
        } catch (SocketException e) {
            Log.e("getLocalIpAddress()", "getLocalIpAddress Exception:"+e.toString());
        }
        return LocalIP;
    }