正確得到android設備的IP地址

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

 

 注意紅色的代碼,這樣得到的就是IPv4的地址了!
相關文章
相關標籤/搜索