有没有一种方法可以ping主机(标准Android或通过NDK实现),并获取响应的详细信息?(时间、ttl、丢失的包等)我正在考虑一些开源应用程序,它有这个功能,但找不到任何……
谢谢
发布于 2012-03-11 13:00:37
我找到了一种不用root就能执行ping命令的方法。
首先生成一个'sh‘进程,然后在该shell中执行'ping’,代码如下:
p = new ProcessBuilder("sh").redirectErrorStream(true).start();
DataOutputStream os = new DataOutputStream(p.getOutputStream());
os.writeBytes("ping -c 10 " + host + '\n');
os.flush();
// Close the terminal
os.writeBytes("exit\n");
os.flush();
// read ping replys
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}它在我的CyanogenMod 7.1.0 (Android 2.3.7)的HTC设备上运行良好。
https://stackoverflow.com/questions/9062182
复制相似问题