我的应用程序(Android)连接出现问题。我正在使用以下代码检查我是否可以连接互联网。
ConnectivityManager cm = (ConnectivityManager)context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnected()) {
try {
URL url = new URL("http://www.google.com/");
HttpURLConnection urlc = (HttpURLConnection)url.openConnection();
urlc.setRequestProperty("User-Agent", "test");
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(5000); // mTimeout is in seconds
urlc.connect();
if (urlc.getResponseCode() == 200) {
return true;
} else {
return false;
}
} catch (IOException e) {
Log.i("warning", "Error checking internet connection", e);
return false;
}
}
[尝试了几次之后,我遇到的问题是我正在对“ www.google.com”执行ping操作。我不明白为什么会这样。在我的项目中,该代码在过去的两年中运行良好。
[如果要在最新版本的android上进行测试,则需要验证您已将白名单列入域。您应该阅读以下内容:https://developer.android.com/training/articles/security-config
作为快速解决方案,您可以将以下属性添加到应用程序标记:
android:usesCleartextTraffic="true"