自己开发时遇到一个需求,要求地域定向,获取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) 去掉即可。

更多相关文章

  1. Android实践——使用Bmob实现登录、注册等功能
  2. Android(安卓)orm框架Sugar1.4源码(映射篇)
  3. [Android]使用全局变量传递数据
  4. pandaboard ES学习之旅——1 制作烧写SD卡
  5. 获取系统电量
  6. Android(安卓)Wear开发 - 数据通讯 - 第一节 : 连接数据层
  7. 再论android 2.2数据连接过程
  8. 【Android(安卓)FFMPEG 开发】音视频基础 和 FFMPEG 编译 ( 音视
  9. 获取或同步MeeGo和Android项目源码的脚本[修改稿]

随机推荐

  1. android 全局异常的捕获,保存本地以及上传
  2. Android中Activity的切换
  3. Android(安卓)横向列表GridView 实现横向
  4. android中 关于listitem 获得焦点时,改变
  5. ionic 打包android@6出现xml/network_sec
  6. Android各层推荐开发书籍及参考资料!!!
  7. Android中的信使Messenger的源码解析
  8. Android(安卓)Arch LifeCycle用法详解与
  9. OnTouchListener与OnGestureListener的区
  10. android JSON解析数据 android解析天气预