在Android中判断设备是否有网络连接可以使用ConnectivityManager类。下面是一个示例代码:
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetworkUtils {
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null) {
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
return false;
}
}
使用时,可以调用isNetworkAvailable()
方法判断设备是否有网络连接。传入一个Context对象作为参数。
示例用法:
if (NetworkUtils.isNetworkAvailable(context)) {
// 有网络连接
} else {
// 没有网络连接
}
在Android中,可以通过以下方式判断设备是否有网络连接:
-
使用ConnectivityManager类:
// 获取系统的ConnectivityManager对象 ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // 获取网络连接状态信息 NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); // 判断网络连接是否可用 if (networkInfo != null && networkInfo.isConnected()) { // 有网络连接 } else { // 无网络连接 }
-
使用NetworkCapabilities类(适用于Android 10及更高版本):
// 获取系统的ConnectivityManager对象 ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // 获取网络连接状态信息 Network network = connectivityManager.getActiveNetwork(); NetworkCapabilities networkCapabilities = connectivityManager.getNetworkCapabilities(network); // 判断网络连接是否可用 if (networkCapabilities != null && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) { // 有网络连接 } else { // 无网络连接 }
请注意,在使用上述方法之前,需要添加相应的权限到AndroidManifest.xml文件中:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/134273.html