android4.0以上系统获取IP v4地址
2012-11-19 14:50
399 查看
在android2.3以下的系统中,可以使用如下的代码来获取Android系统的本地IP地址:
但是,在android4.0以上系统中,上面的代码仅能够返回一个ipv6的地址,如果需要获取ip v4的地址,可以这么更改:
需要import的包有:
import java.net.InetAddress;
import java.net.Inet4Address;
import java.net.InetSocketAddress;
import java.net.NetworkInterface;
【更多精彩】
[原]adb push时提示read-only file system
[原]Android NDK开发环境的搭建,无需Cygwin
[原]Android去广告
[原]TIOBE 2012年12月份编程语言排行榜:Objective-C走在再次称为年度语言的路上
[原]Android系统的无广告软件
[原]DLP Coder:C#写的一个用于编辑DLP投影机程序的编辑器
[原]Freeplot: MATLAB来帮你手动画图
[原]adb push时提示read-only file system
[原]编写Android的exe可执行文件并运行
[原]Android系统的Socket多线程编程实例
private String getLocalIPAddress() throws SocketException{ 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(); } } } return "null"; }
但是,在android4.0以上系统中,上面的代码仅能够返回一个ipv6的地址,如果需要获取ip v4的地址,可以这么更改:
private String getLocalIPAddress() throws SocketException{ 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)){ return inetAddress.getHostAddress().toString(); } } } return "null"; }
需要import的包有:
import java.net.InetAddress;
import java.net.Inet4Address;
import java.net.InetSocketAddress;
import java.net.NetworkInterface;
【更多精彩】
[原]adb push时提示read-only file system
[原]Android NDK开发环境的搭建,无需Cygwin
[原]Android去广告
[原]TIOBE 2012年12月份编程语言排行榜:Objective-C走在再次称为年度语言的路上
[原]Android系统的无广告软件
[原]DLP Coder:C#写的一个用于编辑DLP投影机程序的编辑器
[原]Freeplot: MATLAB来帮你手动画图
[原]adb push时提示read-only file system
[原]编写Android的exe可执行文件并运行
[原]Android系统的Socket多线程编程实例
相关文章推荐
- android4.0以上系统获取IP v4地址
- Android开发如何在4.0及以上系统中自定义TitleBar
- Android:5.0以上获取系统正在运行的进程信息
- Android学习 - 4.0以上的系统,对话框界面一碰屏幕,对话框就消失了解决方法
- Android 5.0系统以上获取所有运行进程
- Android开发如何在4.0及以上系统中自定义TitleBar
- Android获取Mac地址-兼容6.0及以上系统
- Android中获取系统语言(适用于Android7.0以上系统)
- Android 6.0以上系统动态获取权限
- Android获取Mac地址-兼容6.0及以上系统
- android 如何隐藏4.0以上系统下面的3按个虚拟按键?
- android 4.0以上系统如何实现自动接听电话
- Android 4.0以上系统硬件解码RTMP流的一种方式
- Android获取系统相册图片并裁剪(兼容4.4以上版本)
- 开启/屏蔽Android 4.0系统及以上底部虚拟按键
- Android开发如何在4.0及以上系统中自定义TitleBar
- 开启/屏蔽Android 4.0系统及以上底部虚拟按键
- 获取手机和SD卡路径(Android 4.0以上验证过)
- Android 5.0以上获取系统运行进程信息
- Android 5.0系统以上获取所有运行进程