一、新的方法(适用6.0版本以上,api>=23)
@SuppressLint("NewApi")
private boolean isNetAccess() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkCapabilities networkCapabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
if (networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) {
return true;
} else {
return false;
}
}
二、传统方法
如果通过wifi连接第三方设备(我们使用理光相机连接手机app拍摄VR),此时无法判断手机是否联网,因为
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
activeNetworkInfo.getType()=ConnectivityManager.TYPE_WIFI
public static boolean hasNet(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetworkInfo != null && activeNetworkInfo.isAvailable()) {
return true;
} else {
return false;
}
}
判断手机是否连接网络
最新推荐文章于 2024-04-18 14:05:36 发布