网上此类得到android设备IP地址相关的文章有很多,有一篇是比较通用的,但有一个问题:有些设备默认的是IPv6的地址,那段代码得到的就是IPv6的地址。但这显然不是咱们想要的,咱们须要的是IPv4的地址,因而代码就须要这样修改:android
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) { //IPv4地址 return inetAddress.getHostAddress().toString(); } } } } catch (SocketException ex) { Log.d("IP", ex.toString()); }