自己解决了
Process p = Runtime.getRuntime().exec("/system/bin/ping -c "+ pingNum + " " + m_strForNetAddress); // 10.83.50.111  m_strForNetAddress
                    int status = p.waitFor();                     if (status == 0) {  
                        result="success"; 
                    }    
                    else 
                    { 
                        result="failed"; 
                    } 
                    String lost = new String();  
                    String delay = new String();  
                    BufferedReader buf = new BufferedReader(new InputStreamReader(p.getInputStream()));
                    
                    String str = new String();  //读出所有信息并显示                    
                    while((str=buf.readLine())!=null){  
                        str = str + "\r\n";
                        tv_PingInfo.append(str);
}

解决方案 »

  1.   

    好像在int status = p.waitFor(); 这行时经常会阻塞,不知道什么原因,怎么破...
      

  2.   


    参数 -c 的参数值, ping的次数(count), 我小白
      

  3.   

    楼主可否把java代码都搞出来?
      

  4.   

    我补充一下,
    楼主这个其实就是 开始命令写错误的错误的,  Process p = Runtime.getRuntime().exec("ping -c 1 " + m_strForNetAddress);//m_strForNetAddress正确的, Process p = Runtime.getRuntime().exec("/system/bin/ping -c "+ pingNum + " " + m_strForNetAddress); // 10.83.50.111  m_strForNetAddress就是命令里少了 "/system/bin/
      

  5.   

    这种方法是不可行的,在p.waitfor(),app会阻塞报错的。
      

  6.   

    为嘛不能Ping ip呢,ping域名都是没问题的,但是ping IP地址就打印出ping失败
      

  7.   

    为什么我ping什么返回的状态码都是1啊Process process = null;
    String result = "";
    try {
    process = Runtime.getRuntime().exec("/system/bin/ping -c 3 -w 1 www.baidu.com");
    int status = process.waitFor(); 
    if (status == 0) {  
                    result="success"; 
                }    
                else 
                { 
                    result=Integer.toString(status); 
                } 
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();

    Toast.makeText(this, result, Toast.LENGTH_SHORT).show();
    System.out.println(result);
      

  8.   

    为什么我ping什么返回的状态码也都是1啊,亲,你看到了没?