본문 바로가기

카테고리 없음

Java, Android) 자바, 안드로이드에서 Ip 출력하기 [IP Address]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static String IpAddress() {
    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() && inetAddress instanceof Inet4Address) {
                    return inetAddress.getHostAddress();
                }
            }
        }
    } catch (SocketException ex) {ex.printStackTrace();}
    return null;
}
cs



IpAdress라는 String형 메소드를 만들었다.


String형이기때문에 어디로든 참조하면 된다.


자바라면 코드 안에 IpAddress()만 넣어줘도 되지만, 안드로이드에서 사용할때는 Internet과 연관되어있기때문에 매니페스트(Manifest)에 퍼미션을 붙여줘야한다.



<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>