일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- StatefulWidget
- OpenGL
- nginx
- first_app
- Engineer Australia
- flutter progress dialog
- first flutter app
- 호주 이민
- Android
- 앱 기획
- 블러 효과
- rotate circle
- c
- PowerMockup
- 기술인증
- StatelessWidget
- ABEEK
- 맨붕
- progress
- 회전판
- quintus
- HTML 게임 엔진
- reverse proxy
- c++
- 플러터
- 공학인증
- flutter
- ipad
- game engine
- BlurDrawable
Archives
- Today
- Total
우동우동우's note
[Android] 4.0 이상에서 IP 주소 가져오기 본문
과거에 인터넷에서 로컬 IP 주소를 받아오는 메서드를 인터넷에서 검색하여 한동안 잘 사용하고 있었다.
그런데 4.0에서 갑자기... 안되는.. 황당한 시츄에이션...
다시 잘 살펴보니 IPv6 형태의 주소를 가져 오고 있었다.
그래서 아래와 같이 메서드에 약간의 수정을 하여서 IPv4 형태의 IP 주소를 가져오게 하였다.
public final static int INET4ADDRESS = 1; public final static int INET6ADDRESS = 2; public static String getLocalIpAddress(int type) { try { for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = ( NetworkInterface ) en.nextElement(); for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = ( InetAddress ) enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress()) { switch (type) { case INET6ADDRESS: if (inetAddress instanceof Inet6Address) { return inetAddress.getHostAddress().toString(); } break; case INET4ADDRESS: if (inetAddress instanceof Inet4Address) { return inetAddress.getHostAddress().toString(); } break; } } } } } catch (SocketException ex) { } return null; }
'Java & Android' 카테고리의 다른 글
NumberPicker 포커스 해제하기 (0) | 2016.05.06 |
---|---|
[Android] 다른 어플리케이션 실행방법 (0) | 2013.11.25 |
[Android] Paper Flip(Fold) 효과가 적용된 메뉴 구성하기 (2) | 2013.11.18 |
[Android] Display Size Check (0) | 2013.11.13 |
[java] InputStream to String (0) | 2013.11.13 |
Comments