diff --git a/app/src/main/java/org/sifacai/vlcjellyfin/Dlna/Utils.java b/app/src/main/java/org/sifacai/vlcjellyfin/Dlna/Utils.java new file mode 100644 index 0000000..0718905 --- /dev/null +++ b/app/src/main/java/org/sifacai/vlcjellyfin/Dlna/Utils.java @@ -0,0 +1,37 @@ +package org.sifacai.vlcjellyfin.Dlna; + +import java.net.Inet4Address; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.util.Enumeration; + +public class Utils { + + /** + * 获取本机IPV4地址 + * @return + */ + public static String getIpAddress4() { + try { + Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces(); + InetAddress ip = null; + while (allNetInterfaces.hasMoreElements()) { + NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement(); + if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) { + continue; + } else { + Enumeration addresses = netInterface.getInetAddresses(); + while (addresses.hasMoreElements()) { + ip = addresses.nextElement(); + if (ip != null && ip instanceof Inet4Address) { + return ip.getHostAddress(); + } + } + } + } + } catch (Exception e) { + System.err.println("IP地址获取失败" + e.toString()); + } + return ""; + } +}