我正在尝试在我的应用程序中编写一个部分,以区分Active Wifi连接和实际连接到Internet.使用连接管理器查明是否存在有效的Wifi连接非常简单但是每当我尝试测试是否可以在连接Wifi时连接到网站但没有互联网连接时我最终会进入无限循环.
我试图ping谷歌然而这最终以同样的方式:
Process p1 = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
int returnVal = 5;
try {
returnVal = p1.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
boolean reachable = (returnVal==0);
return reachable;
Run Code Online (Sandbox Code Playgroud)
我也试过这段代码:
if (InetAddress.getByName("www.xy.com").isReachable(timeout))
{ }
else
{ }
Run Code Online (Sandbox Code Playgroud)
但我无法得到isReachable工作.