gpt4 book ai didi

android - 验证设备是否连接到互联网,而不仅仅是网络

转载 作者:行者123 更新时间:2023-11-30 01:21:23 24 4
gpt4 key购买 nike

我需要一些方法来验证我的网络是否已连接到互联网,在我的研究过程中,我发现了下面描述的一些方法:

public static boolean hasInternetAccess(Context context) {
if (isNetworkAvailable(context)) {
try {
HttpURLConnection urlc = (HttpURLConnection)
(new URL("http://clients3.google.com/generate_204")
.openConnection());
urlc.setRequestProperty("User-Agent", "Android");
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(1500);
urlc.connect();
return (urlc.getResponseCode() == 204 &&
urlc.getContentLength() == 0);
} catch (IOException e) {
Log.e(TAG, "Error checking internet connection", e);
}
} else {
Log.d(TAG, "No network available!");
}
return false;
}

...但是我的程序会在中国发行,谷歌在中国被屏蔽。

我想创建一个这样的方法,首先选择我的本地化以获得 Baidoo 网站 - 就像中国的谷歌 - 但这是一种非常广泛的方法来检查设备是否连接到某个网络并验证是否连接在互联网上。

最佳答案

您可以使用 ConnectivityManager 尝试这样的事情:

public static boolean  isConnectedToInternet(Context context){
boolean isConnected= false;
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = connectivityManager .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
isConnected= (wifi.isAvailable() && wifi.isConnectedOrConnecting() || (mobile.isAvailable() && mobile.isConnectedOrConnecting()));
return isConnected;
}

您还可以查看所选答案herehere

关于android - 验证设备是否连接到互联网,而不仅仅是网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37057103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com