有没有一种方法可以检测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());

要获取更多可访问性,请检查PhoneUtilsNetworkUtils类:

https://github.com/Blankj/AndroidUtilCode

,

我找到了一种使用Packetmanager检测硬件功能的解决方案。 例如:

getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI);

这将帮助用户知道设备是否具有某些功能。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...