Android 获取本机WIFI及3G网络IP

2016-04-18· 1501 次浏览
1.获取Wifi地址 ``` // 获取本机WIFI private String getLocalIpAddress() {     WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);     WifiInfo wifiInfo = wifiManager.getConnectionInfo();     // 获取32位整型IP地址     int ipAddress = wifiInfo.getIpAddress();          // 返回整型地址转换成“*.*.*.*”地址     return String.format("%d.%d.%d.%d", (ipAddress & 0xff),(ipAddress >> 8 & 0xff),(ipAddress>> 16 & 0xff),(ipAddress >> 24 & 0xff)); } ``` 2.获取3G网络地址 ``` // 3G网络IP public static String getIpAddress() {     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) {                     // if (!inetAddress.isLoopbackAddress() && inetAddress                     // instanceof Inet6Address) {                     return inetAddress.getHostAddress().toString();                 }             }         }     } catch (Exception e) {         e.printStackTrace();     }     return null; } ``` 需要添加如下权限: ``` <uses-permission android:name="android.permission.INTERNET" />  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> ```