Android 5.1获取IP


在Android 5.1的系统,获取IP地址,试了好几个方法都无法得到正确的和系统设置中一致的IP,最后发现下面这个是唯一可以使用的,其他有几个要么是乱码要么和系统设置里的不一致。
public static String getLocalIpAddress() {
		String ip="";
		try {
			for (Enumeration en = NetworkInterface
					.getNetworkInterfaces(); en.hasMoreElements();) {
				NetworkInterface intf = en.nextElement();
				if (intf.getName().equals("usbnet0")) {
					continue;
				}
				for (Enumeration enumIpAddr = intf
						.getInetAddresses(); enumIpAddr.hasMoreElements();) {
					InetAddress inetAddress = enumIpAddr.nextElement();
					if (!inetAddress.isLoopbackAddress()
							&& (inetAddress instanceof Inet4Address)) {
						ip=inetAddress.getHostAddress();
					}
				}
			}
		} catch (SocketException ex) {
			Log.e(TAG, ex.toString());
		}
		return ip;
	}

你可能感兴趣的:(Android 5.1获取IP)