更新:基本上我需要確認我的網絡是私人網絡還是與外部世界連接,即互聯網。例如,我在WiFi網絡上,但路由器互聯網線路未連接。雖然網絡連接,但互聯網不可用。Android應用程序確認Internet工具是否可用?
需要展現在我的Android應用程序網絡的詳細信息,
- (一)是否N/W是否可用
- (B)高速上網服務是否可用
目前,我認爲www.google.com總是會啓動,並且低於代碼才能正常工作。但是這個解決方案很慢,並且基於www.google.com總是會啓動的假設。
有沒有更好的選擇來確認互聯網設施是否可用在網絡上?
public static boolean isConnected(Context context){
NetworkInfo info = Connectivity.getNetworkInfo(context);
return (info != null && info.isConnected());
}
public boolean checkInternetConnectivity() {
try {
HttpURLConnection urlc = (HttpURLConnection) (new URL(
"http://www.google.com").openConnection());
urlc.setRequestProperty("User-Agent", "Test");
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(3000);
urlc.setReadTimeout(4000);
urlc.connect();
isInterNetAvailable = true;
return (urlc.getResponseCode() == 200);
} catch (IOException e) {
isInterNetAvailable = false;
return (false);
}
}
public String getNWConnectivityText() {
if (isConnected(getSherlockActivity()) == true) {
if (true == checkInternetConnectivity()) {
return ""N/W is connected and Internet is working!";
} else {
return "N/W is connected but Internet is NOT working!";
}
} else {
return "N/W is not connected!";
}
}
更新:基本上我需要確認我的網絡是專用網絡或與外界相通,即互聯網。例如,我在WiFi網絡上,但路由器互聯網線路未連接。雖然網絡連接,但互聯網不可用。那麼你的解決方案會工作嗎 – RDX