/** * 得到有线网关的IP地址 * * @return */ private String getLocalIp() { try { // 获取本地设备的所有网络接口 Enumeration<NetworkInterface> enumerationNi = NetworkInterface .getNetworkInterfaces(); while (enumerationNi.hasMoreElements()) { NetworkInterface networkInterface = enumerationNi.nextElement(); String interfaceName = networkInterface.getDisplayName(); Log.i("tag", "网络名字" + interfaceName); // 如果是有限网卡 if (interfaceName.equals("eth0")) { Enumeration<InetAddress> enumIpAddr = networkInterface .getInetAddresses(); while (enumIpAddr.hasMoreElements()) { // 返回枚举集合中的下一个IP地址信息 InetAddress inetAddress = enumIpAddr.nextElement(); // 不是回环地址,并且是ipv4的地址 if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { Log.i("tag", inetAddress.getHostAddress() + " "); return inetAddress.getHostAddress(); } } } } } catch (SocketException e) { e.printStackTrace(); } return ""; } /** * 得到无线网关的IP地址 * * @return */ private String getWirelseeIp() { try { // 获取本地设备的所有网络接口 Enumeration<NetworkInterface> enumerationNi = NetworkInterface .getNetworkInterfaces(); while (enumerationNi.hasMoreElements()) { NetworkInterface networkInterface = enumerationNi.nextElement(); String interfaceName = networkInterface.getDisplayName(); Log.i("tag", "网络名字" + interfaceName); // 如果是无线网卡 if (interfaceName.equals("wlan0")) { Enumeration<InetAddress> enumIpAddr = networkInterface .getInetAddresses(); while (enumIpAddr.hasMoreElements()) { // 返回枚举集合中的下一个IP地址信息 InetAddress inetAddress = enumIpAddr.nextElement(); // 不是回环地址,并且是ipv4的地址 if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { Log.i("tag", inetAddress.getHostAddress() + " "); return inetAddress.getHostAddress(); } } } } } catch (SocketException e) { e.printStackTrace(); } return ""; } /** * 得到无线网关的IP地址 * * @return */ private void getAllIp() { try { // 获取本地设备的所有网络接口 Enumeration<NetworkInterface> enumerationNi = NetworkInterface .getNetworkInterfaces(); while (enumerationNi.hasMoreElements()) { NetworkInterface networkInterface = enumerationNi.nextElement(); String interfaceName = networkInterface.getDisplayName(); Log.i("tag", "网络名字" + interfaceName); Enumeration<InetAddress> enumIpAddr = networkInterface .getInetAddresses(); while (enumIpAddr.hasMoreElements()) { // 返回枚举集合中的下一个IP地址信息 InetAddress inetAddress = enumIpAddr.nextElement(); Log.i("tag", inetAddress.getHostAddress() + "哪个类型的 " + inetAddress.getClass().toString()); } } } catch (SocketException e) { e.printStackTrace(); } } /** * 得到IP地址 * * @return */ private String getIpAddress() { String ip = ""; try { Enumeration<NetworkInterface> enumNetworkInterfaces = NetworkInterface .getNetworkInterfaces(); while (enumNetworkInterfaces.hasMoreElements()) { NetworkInterface networkInterface = enumNetworkInterfaces .nextElement(); Enumeration<InetAddress> enumInetAddress = networkInterface .getInetAddresses(); while (enumInetAddress.hasMoreElements()) { InetAddress inetAddress = enumInetAddress.nextElement(); if (inetAddress.isSiteLocalAddress()) { ip += "SiteLocalAddress: " + inetAddress.getHostAddress() + "\n"; } } } } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); ip += "Something Wrong! " + e.toString() + "\n"; } return ip; }
获取本地的IP地址
最新推荐文章于 2024-06-17 18:09:23 发布