即使我上网也无法ping一个网站

时间:2015-03-04 10:43:20

标签: android ping

我正试图ping一个网站以检测我是否有我的Android应用程序中的互联网。在许多设备上,这确实运行良好,但今天,使用新设备,它总是回报我没有互联网。

这是代码:

    static public  boolean isInternetAvailable(String url){
    Runtime runtime = Runtime.getRuntime();
    try {
        String command = "/system/bin/ping -c 1 " + url;
        Process ipProcess = runtime.exec(command);
        int     exitValue = ipProcess.waitFor();
        return (exitValue == 0);

    } catch (IOException e)          { e.printStackTrace(); }
    catch (InterruptedException e) { e.printStackTrace(); }

    return false;
}

即使服务器在线,我可以从各种其他设备ping它,在新设备上它总是返回false。 ping命令是否可能由于某种原因被阻止? 新设备是三星GT-19305,安卓版本为4.3。

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

Process process = new ProcessBuilder()
       .command("/system/bin/ping", "android.com")
       .redirectErrorStream(true)
       .start();
   try {
     InputStream in = process.getInputStream();
     OutputStream out = process.getOutputStream();

     readStream(in);

    finally {
     process.destroy();
   }
 }