获取安卓设备上有线网或者无线网络的IP地址

来源:互联网 发布:java mvc框架 编辑:程序博客网 时间:2024/05/04 13:35
    /**     * 获取安卓设备当前的IP地址(有线或无线)     *     * @return     */    private String getClientIP() {        try {            // 获取本地设备的所有网络接口            Enumeration<NetworkInterface> enumerationNi = NetworkInterface                    .getNetworkInterfaces();            while (enumerationNi.hasMoreElements()) {                NetworkInterface networkInterface = enumerationNi.nextElement();                String interfaceName = networkInterface.getDisplayName();                Log.i("tag", "网络名字" + interfaceName);                // 如果是有限网卡                if (interfaceName.equals("eth0")) {                    Enumeration<InetAddress> enumIpAddr = networkInterface                            .getInetAddresses();                    while (enumIpAddr.hasMoreElements()) {                        // 返回枚举集合中的下一个IP地址信息                        InetAddress inetAddress = enumIpAddr.nextElement();                        // 不是回环地址,并且是ipv4的地址                        if (!inetAddress.isLoopbackAddress()                                && inetAddress instanceof Inet4Address) {                            Log.i("tag", inetAddress.getHostAddress() + "   ");                            return inetAddress.getHostAddress();                        }                    }                    //  如果是无限网卡                } else if (interfaceName.equals("wlan0")) {                    Enumeration<InetAddress> enumIpAddr = networkInterface                            .getInetAddresses();                    while (enumIpAddr.hasMoreElements()) {                        // 返回枚举集合中的下一个IP地址信息                        InetAddress inetAddress = enumIpAddr.nextElement();                        // 不是回环地址,并且是ipv4的地址                        if (!inetAddress.isLoopbackAddress()                                && inetAddress instanceof Inet4Address) {                            Log.i("tag", inetAddress.getHostAddress() + "   ");                            return inetAddress.getHostAddress();                        }                    }                }            }        } catch (SocketException e) {            e.printStackTrace();        }        return "";    }

原创粉丝点击