我有以下代码行来检查设备是否有互联网。
boolean hasInternet = false;
HttpURLConnection urlc = null;
try {
urlc = (HttpURLConnection)
(new URL("http://clients3.google.com/generate_204")
.openConnection());
} catch (IOException e) {
e.printStackTrace();
}
urlc.setRequestProperty("User-Agent", "Android");
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(1500);
urlc.connect();
hasInternet = (urlc.getResponseCode() == 204 &&
urlc.getContentLength() == 0);
当我使用无线互联网连接时,一切都很好并且有互联网值是真的。但是当我使用移动网络提供商时,hasInternet的值总是假的,但我可以在我的移动浏览器中打开任何网站。什么似乎是问题?
答案 0 :(得分:0)
使用此方法检查移动设备中是否提供isNetwork:
public static boolean isNetwork(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}