アクティブな Wifi 接続とインターネットへの実際の接続を区別する部分をアプリに書き込もうとしています。アクティブな Wifi 接続があるかどうかを調べるのは、接続マネージャーを使用して非常に簡単ですが、Wifi が接続されているときに Web サイトに接続できるかどうかをテストしようとするたびに、インターネット接続がないため、無限ループに陥ります。
Googleに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;
私もこのコードを試しました:
if (InetAddress.getByName("www.xy.com").isReachable(timeout))
{ }
else
{ }
しかし、isReachableを機能させることができませんでした。