网上此类获得android设备IP地址相关的文章有不少,有一篇是比较通用的,但有一个问题:有些设备默认的是IPv6的地址,那段代码获得的就是IPv6的地址。但这显然不是我们想要的,我们需要的是IPv4的地址,于是代码就需要这样修改:

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() && inetAddress instanceof Inet4Address) { //IPv4地址
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.d("IP", ex.toString());
}
 注意红色的代码,这样获得的就是IPv4的地址了!

最新文章

  1. 关于input标签和placeholder在IE8,9下的兼容问题
  2. sql 判断 函数 存储过程是否存在的方法
  3. XRecyclerView Scrapped or attached views may not be recycled
  4. ASP.NET 访问路径 错误提示 HTTP 错误 404.8 原来路径中包含bin目录被拒绝
  5. HDU 3016 线段树区间更新+spfa
  6. Leetcode 67 Add Binary 大数加法+字符串处理
  7. 向java的main()传入大量参数
  8. Linux 系统常用命令汇总(二) vi 文本编辑
  9. WINCE6.0组件选择说明
  10. Android Loader详解
  11. 【Qt】命令行编译Qt程序(nmake)【转】
  12. WAMP下定义wordpress固定连接出现文章页面404
  13. C#读取excel等表格常用方法
  14. POJ 3414--Pots(BFS+回溯路径)
  15. eclipse 使用问题
  16. CPP笔记_泛型编程简单总结
  17. Python Tornado篇
  18. mybatis分页+springmvc+jsp+maven使用步骤
  19. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) :
  20. 芒果绿的blog

热门文章

  1. java 中 ArrayList LinkedList Vector 三者的异同点
  2. 【原】无规矩,不方圆——说一说正则里的exec()和test()
  3. Office 365 系列三 ------ 创建Office 365普通账号
  4. C#中Invoke 和 BeginInvoke 的区别
  5. sql一个表中两个字段合并求和
  6. 把java对象转化为json格式的对象数组
  7. C#,委托,匿名委托,Lambda表达式
  8. Linux性能工具介绍
  9. [知识整理]Java集合(一) - List
  10. Windows版的各种Python库安装包下载地址与安装过程