Android获取本地IP地址-WIFI or 3G

来源:互联网 发布:网站注册域名是什么 编辑:程序博客网 时间:2024/06/07 02:25
/**
     * 获取终端IP地址
     * @return
     */
    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() && InetAddressUtils.isIPv4Address(inetAddress.getHostAddress())) {   
                            return inetAddress.getHostAddress().toString();   
                        } 
                        /*if (!inetAddress.isLoopbackAddress()&&!inetAddress.isLinkLocalAddress()) { 
                        System.out.println("--inetAddress---="+inetAddress.getHostAddress().toString());
                         return inetAddress.getHostAddress().toString(); */
                    }   
             } 
        }catch (SocketException e) { 
            // TODO: handle exception 
            System.out.println("WifiPreference IpAddress---error-" + e.toString()); 
        } 
        return null;  

    } 

 附件权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.INTERNET"/>


0 0
原创粉丝点击