我们开发中,有判断手机是否联网,或者想获得当前手机的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地址为空,刚好符合要求!!!


更多相关文章

  1. OnConfigurationChanged 配置变化。 屏幕翻转,输入法,语言等切换
  2. Android的Adapter
  3. Android(安卓)N获取外置SD卡或挂载U盘路径的方法
  4. Vue和ios、android交互通信
  5. Android(安卓)通过http访问服务器
  6. Android(安卓)Tthread 建立线程使用方法
  7. Android字符串资源
  8. Android——线程创建以及handler
  9. Android(安卓)实现TextView字符串关键字变色

随机推荐

  1. 获取Android系统程序信息
  2. android 8.0 service
  3. Android之针对webview的缓存
  4. android的一些组件学习
  5. view call stack of crashed application
  6. android palette
  7. Android如何从服务器获取图片
  8. 【Android】Http请求
  9. android 根据EditText 内容,改变TextView
  10. android WebView结合javascript相互调用