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

안드로이드에서 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

NetworkInterface.getNetworkInterfaces(); 이부분에서
자꾸 Exception 발생해서 삽질하다가 깨달은것 퍼미션 안줬음 -_-;;

그리고 퍼미션도 <uses-permission android:name=”android.permission.INTERNET”/> 이거임..

첨엔 <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE”/>인줄 알고
이것만 넣고 삽질했는데 결론은 android.permission.INTERNET 이 퍼미션이었음

크리에이티브 커먼즈 라이선스 Linsoo 의 저작물인 이 저작물은(는) 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스 에 따라 이용할 수 있습니다.

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

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

    2. 일단 답변감사합니다!ㅎ

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

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

댓글 남기기

이메일은 공개되지 않습니다.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.