2013-01-09 30 views
2

我使用下面的代碼來調用Android的設備的ping命令:替代從Java調用平可執行文件在Android

public static String pingServer() { 
PingResult result = new PingResult(); 
String jsonString = null; 
try { 
String command = "ping -c 3 192.168.8.185"; 
Process p = Runtime.getRuntime().exec(command); 
int status = p.waitFor(); 
InputStream input = p.getInputStream(); 
BufferedReader in = new BufferedReader(new InputStreamReader(input)); 
StringBuffer buffer = new StringBuffer(); 
String line = ""; 
while ((line = in.readLine()) != null) { 
buffer.append(line); 
buffer.append("\n"); 
} 


String bufferStr = buffer.toString(); 
     System.out.println(bufferStr); 

} catch (Exception e) { 
System.out.println("---------------exception-----------ping"); 
System.out.println(e.getMessage()); 
// e.printStackTrace(); 

} 
} 

BufferStr始終得到最後一行數據。發送

3個數據包,3接收,0%的分組丟失,時間2000毫秒

細節結果可以得到。 enter image description here

+1

是否有什麼問題嗎? – Henry

+1

這真的很好,但是,你的問題又是什麼? – njzk2

回答

1

它可以更簡單和更容易使用InetAddress.isReachable

if (InetAddress.getByName("192.168.8.185").isReachable(6000)) 
    ... 
+0

感謝您的回答。但我想知道ping後的結果細節。不看它是否成功。 – bonnie

+0

哪些細節? Ping也許只能回覆你的回覆時間。 – h22