如何从android ping网站获得服务器响应的平均时间。

时间:2012-09-30 14:04:34

标签: android ping

我正在制作一个Android应用程序,它可以从Android应用程序获得ping响应时间。 我已经用windows环境完成了它,但当我把它带到Android设备上时,设备无法发送任何响应。我怎样才能解决这个问题。?

提前致谢。 这是我的代码

                 String ip="www.google.com"; String pingResult="  ";
                String pingCmd="ping"+ip;

                Runtime r=Runtime.getRuntime();
                Process p=r.exec(pingCmd);
                BufferedReader in=new BufferedReader(new InputStreamReader(p.getInputStream()));
                String inputLine;
                Toast.makeText(getApplicationContext(), "Going loop", 1).show();
                while((inputLine=in.readLine())!=null)
                {
                    pingResult=inputLine;
                }
                Toast.makeText(getApplicationContext(),pingResult, 1).show();
                in.close();

1 个答案:

答案 0 :(得分:1)

如果你改变这条线,你的工作将会正常工作:

Process p=r.exec(pingCmd); 

为:

Process p=r.exec(new String[] {"ping", "-c 4", "www.google.pt"}); 

原因是:

-Android exec命令需要String []而不是String。

-c参数是将ping数限制为4(复制Windows行为)所必需的。否则它将永远ping。

最后,这仅适用于真实设备。要让它在模拟器中工作,您需要配置adb以将重放重定向到模拟器。

祝你好运。