我想检查android应用是否有可用的互联网连接。 我尝试过这种方法,由于Google对https的要求,该方法无法正常工作。
private static boolean netIsAvailable() {
try {
final URL url = new URL("http://www.google.com");
final URLConnection conn = url.openConnection();
conn.connect();
conn.getInputStream().close();
return true;
} catch (MalformedURLException e) {
throw new RuntimeException(e);
} catch (IOException e) {
Log.d(TAG, e.toString());
return false;
}
我收到错误消息:java.io.IOException: Cleartext HTTP traffic to www.google.com not permitted
还有哪些其他方式?
答案 0 :(得分:1)
使用https://developer.android.com/reference/android/net/ConnectivityManager是一种选择:
类似的东西:
NetworkCapabilities networkCapabilities = mConnectivityService.getNetworkCapabilities(mConnectivityService.getActiveNetwork());
if (networkCapabilities != null) {
if (networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) {
// do something with internet
} else {
// no internet
}
} else {
// no internet
}
尽管有原因,您不能仅在URL中使用https
吗?