Android: get IP address of device
2012-04-15 00:49
246 查看
在网上查了下,多数使用下列代码:
但是我在一部samsung nexus里(android 4.0 with 3g),上面代码返回的不是ip address,而是"fe80::a20b:baff:fecf:e43%wlan0",难道是因为3g的原因??没有再深究下去,不过使用下列代码可以解决问题
当然,在androidmanifest.xml里要添加下面的permission
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) { Log.e("error", ex.toString()); } return null; }
但是我在一部samsung nexus里(android 4.0 with 3g),上面代码返回的不是ip address,而是"fe80::a20b:baff:fecf:e43%wlan0",难道是因为3g的原因??没有再深究下去,不过使用下列代码可以解决问题
private String getIpAddress() { WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); return intToIp(wifiInfo.getIpAddress()); } private String intToIp(int i) { return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "." + (i >> 24 & 0xFF); }
当然,在androidmanifest.xml里要添加下面的permission
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
相关文章推荐
- Genymotion启动Android5.1.0 unable to start the virtual device the virtual device got no IP address
- Get IP Address in Android 4.0+
- Using PowerCLI to get the IP address of a VM
- Get IP address of iPhone
- android——adb shell——netcfg——get IP address
- IP address of device using phone as access point
- Get the IP address of a network interface in C using SIOCGIFADDR
- android-genymotion-the virtual device got no ip address
- get IP address of a given machine
- Get IP address of the user in SAP ABAP
- Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法
- Android: How to get Address from geolocation using Geocoder
- Android USB Host开发之manager.getDeviceList()获取不到设备列表
- IP地址的划分 -- The division of the IP address
- Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法
- The Genymotion Virtual device could not obtain an IP address解决办法
- Genymotion error:The virtual device got no IP address
- Github遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known host
- Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法
- Genymotion模拟器常见问题——Unable to start the virtual device,The virtual device got no IP address