我的意思是网络功能 - 是否支持 NR、LTE、CDMA、UMTS、GSM?是否支持 wifi / 移动数据?我只想知道该设备是否能够执行上述操作。我不需要知道当前活动的网络内容。
https://developer.android.com/reference/android/net/NetworkCapabilities - 这个 api 没什么帮助,但不能完全满足我的需要。
另外我想知道我的设备是否具有 wifi / 蓝牙 / 蜂窝功能等功能?
我的意思是网络功能 - 是否支持 NR、LTE、CDMA、UMTS、GSM?是否支持 wifi / 移动数据?我只想知道该设备是否能够执行上述操作。我不需要知道当前活动的网络内容。
https://developer.android.com/reference/android/net/NetworkCapabilities - 这个 api 没什么帮助,但不能完全满足我的需要。
另外我想知道我的设备是否具有 wifi / 蓝牙 / 蜂窝功能等功能?
我一直在我的所有项目中使用这个强大的库:
implementation 'com.blankj:utilcodex:1.29.0'
用法 :
LogUtils.i("NetworkUtils isConnect = %b" , NetworkUtils.isConnected());
LogUtils.i("NetworkUtils isAvailableByPing = %b" , NetworkUtils.isAvailableByPing());
LogUtils.i("NetworkUtils isWifiEnable = %b" , NetworkUtils.getWifiEnabled());
LogUtils.i("NetworkUtils isWifiConnected = %b" , NetworkUtils.isWifiConnected());
LogUtils.i("NetworkUtils is4G = %b" , NetworkUtils.is4G());
LogUtils.i("NetworkUtils getNetworkType = %s", NetworkUtils.getNetworkType());
要获得更多可访问性,请检查PhoneUtils
&NetworkUtils
类:
我找到了一个使用 packetmanager 检测硬件功能的解决方案。前任:
getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI);
这将帮助用户了解设备是否具有某些功能。