如何解决有没有一种方法可以检测android设备的所有网络功能?
按网络功能,我的意思是-是否支持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
类:
https://github.com/Blankj/AndroidUtilCode
,我找到了一种使用Packetmanager检测硬件功能的解决方案。 例如:
getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI);
这将帮助用户知道设备是否具有某些功能。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。