Programing/Android / Java 안드로이드 IP 주소 가져오기 (Android IP Address) 빅터크룸 2014. 6. 16. 10:28 // Permission 추가 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> // IP Address 가져오는 코드 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); checkAvailableConnection(); } void checkAvailableConnection() { ConnectivityManager connMgr = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SERVICE); final android.net.NetworkInfo wifi = connMgr .getNetworkInfo(ConnectivityManager.TYPE_WIFI); final android.net.NetworkInfo mobile = connMgr .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (wifi.isAvailable()) { WifiManager myWifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiInfo myWifiInfo = myWifiManager.getConnectionInfo(); int ipAddress = myWifiInfo.getIpAddress(); System.out.println("WiFi address is " + android.text.format.Formatter.formatIpAddress(ipAddress)); } else if (mobile.isAvailable()) { GetLocalIpAddress(); Toast.makeText(this, "3G Available", Toast.LENGTH_LONG).show(); } else { Toast.makeText(this, "No Network Available", Toast.LENGTH_LONG) .show(); } } private String GetLocalIpAddress() { 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()) { return inetAddress.getHostAddress().toString(); } } } } catch (SocketException ex) { return "ERROR Obtaining IP"; } return "No IP Available"; } } 저작자표시 비영리 변경금지