안드로이드에서 IP주소 구하기


public String getLocalIpAddress(){
     final String IP_NONE = "N/A";
     final String WIFI_DEVICE_PREFIX = "eth";
     
     String LocalIP = IP_NONE;
     try {
    	 NetworkInterface.getNetworkInterfaces();
            for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
                NetworkInterface intf = en.nextElement();           
                for (Enumeration 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("MainActivity.class", "getLocalIpAddress Exception:"+e.toString());
        }
        return LocalIP;
    }

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

안드로이드에서 ip 구하는코드가 필요해서 검색해서 사용하는데 자꾸 에러가 발생함NetworkInterface.getNetworkInterfaces(); 이부분에서 자꾸 Exception 발생해서 삽질하다가 깨달은것 퍼미션 문제…
그리고 퍼미션도 “android.permission.ACCESS_NETWORK_STATE” 이게 아니라 <uses-permission android:name=”android.permission.INTERNET”/> 이거였음

댓글

“안드로이드에서 IP주소 구하기”에 대한 4개의 응답

  1. 김정욱 아바타
    김정욱

    혹시 이 코딩 전체 코드 있으신가요… 헬푸 부탁드릴게요ㅠ

    1. Linsoo 아바타

      이거 적용한 풀소스코드는 회사플젝용이라 공개할 수가 없네요.
      저 코드만 가져다가 써도 사용 가능합니다.

    2. 김정욱 아바타
      김정욱

      일단 답변감사합니다!ㅎ

      이것만으로도 IP Address 가 구해지는건가요!???
      어떻게 출력하셨나요??

      현재 ip가 최종 출력물이되야하거든요ㅠ

    3. Linsoo 아바타

      네 구해졌었습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다