Android 获取局域网内网IP地址
废话上代码完事废话
拿局域网IP一般用在tcp通讯或udp通讯上,下次再整理下这类通讯的框架
上代码
/*** 网络工具* 获得局域网IP地址* @author dlong* created at /3/8 2:46 PM*/public class NetworkUtils {/*** 获取内网IP地址* @return* @throws SocketException*/public static String getLocalIPAddress() throws SocketException {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)){return inetAddress.getHostAddress().toString();}}}return "null";}}
kotlin版
import .Inet4Addressimport .InetAddressimport workInterfaceimport java.util.*/*** @author D10NG* @date on -12-10 14:37*/object NetUtils {/*** 获取内网IP地址*/val localIPAddress: Stringget() {val en: Enumeration<NetworkInterface> = NetworkInterface.getNetworkInterfaces()while (en.hasMoreElements()) {val intf: NetworkInterface = en.nextElement()val enumIpAddr: Enumeration<InetAddress> = intf.inetAddresseswhile (enumIpAddr.hasMoreElements()) {val inetAddress: InetAddress = enumIpAddr.nextElement()if (!inetAddress.isLoopbackAddress && inetAddress is Inet4Address) {return inetAddress.hostAddress.toString()}}}return "null"}}