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"/>