andorid跳过系统API获取以太网IP,网关,DNS,MAC的方法
16lz
2021-01-23
最近在android平台上构建出windows的效果,之前通过EthernetManager和EthernetDevInfo获取以太网相关信息,但为了边敲代码边运行,想要跳过系统层的api调用,方法如下:
- 获取DNS:
private String getLocalDNS(){ Process cmdProcess = null; BufferedReader reader = null; String dnsIP = ""; try { cmdProcess = Runtime.getRuntime().exec("getprop dhcp.eth0.dns1"); reader = new BufferedReader(new InputStreamReader(cmdProcess.getInputStream())); dnsIP = reader.readLine(); return dnsIP; } catch (IOException e) { return null; } finally{ try { reader.close(); } catch (IOException e) { } cmdProcess.destroy(); } }
- 获取网关:
private String getLocalGATE(){ Process cmdProcess = null; BufferedReader reader = null; String dnsIP = ""; try { cmdProcess = Runtime.getRuntime().exec("getprop dhcp.eth0.gateway"); reader = new BufferedReader(new InputStreamReader(cmdProcess.getInputStream())); dnsIP = reader.readLine(); return dnsIP; } catch (IOException e) { return null; } finally{ try { reader.close(); } catch (IOException e) { } cmdProcess.destroy(); } }
- 获取ip地址:
private String getLocalGATE(){ Process cmdProcess = null; BufferedReader reader = null; String dnsIP = ""; try { cmdProcess = Runtime.getRuntime().exec("getprop dhcp.eth0.ipaddress"); reader = new BufferedReader(new InputStreamReader(cmdProcess.getInputStream())); dnsIP = reader.readLine(); return dnsIP; } catch (IOException e) { return null; } finally{ try { reader.close(); } catch (IOException e) { } cmdProcess.destroy(); } }
上面的方法只有使用的指令不一样,追求代码简洁的朋友可以合成一个方法来写,或者写入工具类中。
- 其他相关指令:
[email protected]:/ # getprop | grep eth0getprop | grep eth0[dhcp.eth0.dns1]: [192.168.0.1][dhcp.eth0.dns2]: [][dhcp.eth0.dns3]: [][dhcp.eth0.dns4]: [][dhcp.eth0.gateway]: [192.168.0.1][dhcp.eth0.ipaddress]: [192.168.0.180][dhcp.eth0.leasetime]: [3600][dhcp.eth0.mask]: [255.255.255.0][dhcp.eth0.pid]: [13800][dhcp.eth0.reason]: [PREINIT][dhcp.eth0.result]: [failed][dhcp.eth0.server]: [192.168.0.1][dhcp.eth0.vendorInfo]: [][net.change]: [net.eth0.dns2][net.eth0.dns1]: [8.8.8.8][net.eth0.dns2]: [8.8.4.4]
更多相关文章
- [转]NDK中log输出方法
- 如何在Android上编写高效的Java代码
- Android应用程序设置系统时间的方法
- Android冷启动实现app秒开的实现代码
- Android基于多触控的图片缩放和拖动代码实现