Android获取本机IP地址

来源:互联网 发布:up to date数据库 编辑:程序博客网 时间:2024/05/24 06:49

自己开发时遇到一个需求,要求地域定向,获取ip,如果手机连接的是wifi,获取到是192.168.1.0这种格式的地址,如果连接的是移动网络,获取到的是10.119.32.486这种格式。

/*客户端IP/

public static String getIP(Context context){    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))                {                    return inetAddress.getHostAddress().toString();                }            }        }    }    catch (SocketException ex){        ex.printStackTrace();    }    return null;}

以上是获取V4地址,如果要获取V6,可以将(inetAddress instanceof Inet4Address) 去掉即可。

0 0
原创粉丝点击