網上此類得到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()); }