Android获取IP地址

之前在做一个电脑端通过局域网控制手机端播放视频的软件,需要获取手机端无线网ip。

判断网络环境:

String ip;ConnectivityManager conMann = (ConnectivityManager)                this.getSystemService(Context.CONNECTIVITY_SERVICE);            NetworkInfo mobileNetworkInfo = conMann.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);            NetworkInfo wifiNetworkInfo = conMann.getNetworkInfo(ConnectivityManager.TYPE_WIFI);        if (mobileNetworkInfo.isConnected()) {            ip = getLocalIpAddress();            System.out.println("local ip"+ip);        }else if(wifiNetworkInfo.isConnected())        {            WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);              WifiInfo wifiInfo = wifiManager.getConnectionInfo();                   int ipAddress = wifiInfo.getIpAddress();               ip = intToIp(ipAddress);            System.out.println("wifi ip"+ip);        }

获取本地移动网络ipv4地址:

public String getLocalIpAddress() {          try {              String ipv4;              ArrayList  nilist = Collections.list(NetworkInterface.getNetworkInterfaces());              for (NetworkInterface ni: nilist)               {                  ArrayList  ialist = Collections.list(ni.getInetAddresses());                  for (InetAddress address: ialist){                      if (!address.isLoopbackAddress() && InetAddressUtils.isIPv4Address(ipv4=address.getHostAddress()))                       {                           return ipv4;                      }                  }              }          } catch (SocketException ex) {              Log.e("local ip", ex.toString());          }          return null;      }  

获取WI-FI ipv4地址:

public static String intToIp(int ipInt) {              StringBuilder sb = new StringBuilder();              sb.append(ipInt & 0xFF).append(".");              sb.append((ipInt >> 8) & 0xFF).append(".");              sb.append((ipInt >> 16) & 0xFF).append(".");              sb.append((ipInt >> 24) & 0xFF);              return sb.toString();          }  

作者:吴志豪
原文链接: 点击这里

更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. android 升级包检测并更新实现
  3. android一些重要开源项目
  4. MQTT的学习研究(十五) MQTT 和android整合文章
  5. android 设置时区
  6. Android系统信息(内存、cpu、sd卡、电量、版本)获取
  7. Android如何获取网络连接状态及怎样调用网络配置界面
  8. android 升级包检测并更新实现
  9. 2010.12.26——— android 获得手机号码 和 IMEI号 等

随机推荐

  1. java集合系列(5)LinkedList
  2. 面试必问:String类型为什么设计成不可变的
  3. 设计模式之组合模式
  4. 设计模式之工厂模式
  5. 设计模式之命令模式
  6. java网络编程(1)基础知识
  7. 既然硕士毕业也去搞开发,那我还读个喵的研
  8. 深入分析java中的反射机制
  9. java集合系列(7)Stack
  10. Qt on Android,输入法弹出后,界面无法自适