关闭

安卓获取以太网IP地址

546人阅读 评论(0) 收藏 举报
分类:

闲话不说,直接上代码:

public static String getLocalIpAddress() {  
        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()) {
                    ipAddress = inetAddress.getHostAddress().toString();
                    if(!ipAddress.contains("::"))
                    return inetAddress.getHostAddress().toString();
                    }else
                    continue;
                }  
            }  
        } catch (SocketException ex) {  
            Log.e(LOGTAG, ex.toString());  
        }  
        return "GetHostIP Fail,Please clear the shareReference";  
    }


continue 很重要,不然会获得一个IPV6的地址,通过“::”将IPV6地址过滤掉。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3763次
    • 积分:86
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档