大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和

我们3G卡的Ip地址当然是不一样的.

首先我尝试了如下方法:

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ipAddress = wifiInfo.getIpAddress();

但是获得的居然是一个整数,我尝试了用些数学方法都没有成功!,所以这种方法不可取!

最后查了一些资料,发现如下方法是比较通用的,我尝试了WIFI和G3卡,都获取了争取的Ip地址:代码如下:

public 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()) { return inetAddress.getHostAddress().toString(); } } } } catch (SocketException ex) { Log.e(LOG_TAG, ex.toString()); } return null; }

当我的手机处于飞行状态是,获得Ip地址为空,刚好符合要求!!!

希望对大家有所帮助!谢谢~

更多相关文章

  1. Android系统(245)---SystemServer进程的创建流程
  2. 下载Android(安卓)Sdk源码方法
  3. (安卓/android)dex2oat与应用安装时间优化
  4. Android之——自己定义TextView
  5. android 事件总线 -- Otto(一)
  6. 初涉Android蓝牙开发
  7. Android(安卓)网络请求框架之Rxjava+Retrofit
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. android 界面布局 很好的一篇总结 【转】
  2. android 权限大全
  3. Mac系统下Android(安卓)SDK更新以及ADT无
  4. 解决Android(安卓)studio升级到3.5的一些
  5. Android中使用Movie显示gif动态图
  6. linux ,Android基础知识总结
  7. Android设备管理器漏洞
  8. android闪屏的制作
  9. 给android新手的10条建议
  10. Android(安卓)View绘制过程以及事件传递