六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 54|回复: 0

Android 获取Ip

[复制链接]

升级  88%

54

主题

54

主题

54

主题

秀才

Rank: 2

积分
182
 楼主| 发表于 2013-1-30 04:14:25 | 显示全部楼层 |阅读模式
我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和

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

首先我尝试了如下方法

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

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


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

ublic 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地址为空,刚好符合要求!!!
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表