Android获取本机IP地址
16lz
2021-01-26
自己开发时遇到一个需求,要求地域定向,获取ip,如果手机连接的是wifi,获取到是192.168.1.0这种格式的地址,如果连接的是移动网络,获取到的是10.119.32.486这种格式。
/*客户端IP/
public static String getIP(Context context){ try { for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration 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) 去掉即可。
更多相关文章
- Android实践——使用Bmob实现登录、注册等功能
- Android(安卓)orm框架Sugar1.4源码(映射篇)
- [Android]使用全局变量传递数据
- pandaboard ES学习之旅——1 制作烧写SD卡
- 获取系统电量
- Android(安卓)Wear开发 - 数据通讯 - 第一节 : 连接数据层
- 再论android 2.2数据连接过程
- 【Android(安卓)FFMPEG 开发】音视频基础 和 FFMPEG 编译 ( 音视
- 获取或同步MeeGo和Android项目源码的脚本[修改稿]