Android获取路由ip
来源:互联网 发布:绿色傲剑金蛇数据 编辑:程序博客网 时间:2024/06/17 04:02
wifi获取网关ip的方法
wifi获取网关ip是比较简单的,可以通过获取DhcpInfo来获取网关ip,而DhcpInfo可以通过Wifimanager来获取。
/** * wifi获取 路由ip地址 * * @param context * @return */ private static String getWifiRouteIPAddress(Context context) { WifiManager wifi_service = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); DhcpInfo dhcpInfo = wifi_service.getDhcpInfo();// WifiInfo wifiinfo = wifi_service.getConnectionInfo();// System.out.println("Wifi info----->" + wifiinfo.getIpAddress());// System.out.println("DHCP info gateway----->" + Formatter.formatIpAddress(dhcpInfo.gateway));// System.out.println("DHCP info netmask----->" + Formatter.formatIpAddress(dhcpInfo.netmask)); //DhcpInfo中的ipAddress是一个int型的变量,通过Formatter将其转化为字符串IP地址 String routeIp = Formatter.formatIpAddress(dhcpInfo.gateway); Log.d(TAG, "wifi route ip:" + routeIp); return routeIp; }
以太网获取网关ip
网上给的很多获取网关ip的方式,比如:EthernetManager和EthernetDevInfo来获取,具体的我在这里就不说了,因为默认sdk是没有提供的,引包会出问题。
这里换个角度给一种获取的方式:
1) 首先,我们通过命令执行来获取网关信息:ip route show
2) 执行命令之后获取到信息输出后,在匹配出网关ip就可以了。
直接给出获取方式:
/** * 以太网获取路由id地址 * * @return */ private static String getEthernetRouteIpAddress() { String ip = ""; try { Process p = Runtime.getRuntime().exec("ip route show"); BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); String ipHave = ""; String line = null; //获取到的可能包含ip的信息如下:// default via 192.168.2.1 dev eth0// default via 192.168.2.1 dev eth0 metric 206// 192.168.2.0/24 dev eth0 scope link// 192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.21 metric 206// 192.168.2.0 dev eth0 scope link while ((line = in.readLine()) != null && !line.equals("null")) { if (line.contains("default via ")) { ipHave += line; break; } } if (!"".equals(ipHave)) { //获取网关ip信息 String patternS = "default via (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}) dev eth0 "; Pattern p1 = Pattern.compile(patternS); Matcher matcher = p1.matcher(ipHave); if (matcher.matches()) ip = matcher.group(1); Log.d(TAG, "ethernet route ip:" + ip); return ip;//拿到ip则返回了 } } catch (IOException e) { e.printStackTrace(); } return ip; }
阅读全文
1 0
- Android获取路由ip
- arm板获取路由IP
- 获取无线路由Ip地址
- ip路由
- ip路由
- IP路由
- IP路由
- android 获取IP地址
- android获取网关ip
- ANDROID 获取IP地址
- 获取android手机ip
- android 获取ip地址
- android获取IP地址
- android 获取IP地址
- android获取手机ip
- android 获取IP
- Android之获取IP
- android获取当前ip
- 3.numpy基础使用
- 求最大公约数-辗转相除法-更相减损术
- Java对象的内存分配过程
- 17暑假多校联赛1.11 HDU 6043 KazaQ's Socks
- springboot+mybatis+gradle在idea和oracle使用
- Android获取路由ip
- CentOS配置日志集中管理
- 从源码角度解析View的绘制过程
- JVM垃圾收集算法
- Json字符串转excel表格文件
- 4.pandas基础使用
- Xamarin.Android入门
- cms启动流程
- VMWare虚拟机提供的桥接、NAT和Host-only的区别