在我的Android应用程序中,我想测试用户是否可以访问互联网。我知道我能测试他是否连接到wifi或3G / 4G等......但也许用户连接到本地网络而无法访问互联网。
我应该尝试谷歌“ping”以确保他可以下载任何内容,还是确实存在确保手机上网的功能?
感谢。
答案 0 :(得分:0)
如果您想在用户连接时检查用户是否可以访问互联网,请尝试访问Google等网站并暂停。
URL url = new URL("https://google.com");
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(1000 * 30);
urlc.connect();
if (urlc.getResponseCode() == 200) {
return true;
}
如果您收到超时或错误代码,您可以认为您的应用未连接到互联网。
答案 1 :(得分:0)
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
AndroidManifest:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
但它已在这里得到解答: