安卓获取IP的代码

简介: 安卓获取IP的代码
private final static String ETH0 = "eth0";
private static String getLocalIp()
{
   Map<String, String> map = new HashMap<String, String>();
   try {
      Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
      while (en.hasMoreElements())
      {
         NetworkInterface intf = en.nextElement();
         String name = intf.getName();
         Enumeration<InetAddress> ipAddr = intf.getInetAddresses();
         while ( ipAddr.hasMoreElements())
         {
            InetAddress inetAddress = ipAddr.nextElement();
            String hostAddress = inetAddress.getHostAddress();
            if (TextUtils.isEmpty(hostAddress)
                  || inetAddress.isLoopbackAddress()
                  || inetAddress.isLinkLocalAddress()
                  || (inetAddress instanceof Inet6Address))
            {
               continue;
            }
            map.put(name, hostAddress);
         }
      }
      //如果有以太网ip,去以太网ip,如果没有,取第一个ip
      if(map.containsKey(ETH0))
      {
         return map.get(ETH0);
      }
      return (String) map.values().toArray()[0];
   } catch (Exception e) {
   }
   return null;
}
这里的HashMap在盒子上,也许更通用一些?
目录
相关文章
|
存储 数据库 Android开发
|
7月前
|
Java 开发工具 Android开发
安卓与iOS开发差异解析
【6月更文挑战第21天】本文旨在深入探讨安卓和iOS两大移动操作系统在应用开发过程中的主要差异。通过对比分析,揭示各自的设计哲学、编程语言选择、用户界面构建、性能优化策略以及发布流程的异同。文章将提供开发者视角下的实用信息,帮助他们更好地理解各自平台的特点和挑战,从而做出更明智的开发决策。
|
8月前
|
Android开发
安卓群控代理ip问题怎么解决
安卓群控代理ip问题怎么解决
273 4
|
8月前
|
安全 网络协议 Linux
【公网远程手机Android服务器】安卓Termux搭建Web服务器
【公网远程手机Android服务器】安卓Termux搭建Web服务器
172 0
|
Android开发
安卓获取IP的代码
安卓获取IP的代码
129 0
|
Android开发
安卓GLSurfaceView使用简单范例
安卓GLSurfaceView使用简单范例
112 0
|
Android开发
安卓:判断当前使用的是什么网
安卓:判断当前使用的是什么网
69 0
|
Java Android开发
|
Android开发
安卓在网络请求上的应用(一)
已经在工作接了不少次服务器请求接口,之前都是跟着模仿前人的代码,很少去总结,正好,现在把这一知识融汇贯通一下,也算一收获。 本篇文章围绕网络请求展开,来聊聊安卓中如何去实现这任务的,当然,我事先也在众多大神博客中了解到网络请求有很多方法,不止我这一种,如有错误,烦请指正。