android 获取本机IP地址
16lz
2021-01-26
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() && <strong>(inetAddress instanceof Inet4Address)</strong>){ return inetAddress.getHostAddress().toString(); } } } return "null"; }
更多相关文章
- 36 Android(安卓)Activity跳转动画 获取当前版本
- Android中简单的发短信应用
- EditText获取焦点的一系列方法
- Android获取手机屏幕参数的工具
- android中获取手机短信,删除短信功能
- BigImageViewer
- 跨进程存取数据
- android 下的内存状态获取
- 【Android】问题记录