我需要检测设备的 4G 功能。
我怎样才能做到这一点?
感谢您的任何提示。
4G 不是你可以“检测到”的东西,因为 4G 是一个营销术语,而不是一个技术术语。
您可以使用 检测已建立的连接是否为 WiMAX ConnectivityManager
。我不知道 Android 支持任何其他类型的连接,专门作为 4G 销售。
我也有同样的需求。您真正想要的是当前带宽。您从 WiFi 获得该信息,但不是移动设备。所以我想出的下一个最好的事情是检测设备是否在 4G 上。不幸的是,事情并非如此简单。
除了 WiMAX,您还可以使用ConnectivityManager
. 如果检测到 的类型ConnectivityManager.TYPE_MOBILE
,则检查子类型。如果子类型是TelephonyManager.NETWORK_TYPE_LTE
或,则设备支持TelephonyManager.NETWORK_TYPE_EHRPD
4G 。
如果活动网络是 subtype TelephonyManager.NETWORK_TYPE_LTE
,那么您使用的是 4G(但我没有机会验证这一点)。如果您检测到TelephonyManager.NETWORK_TYPE_EHRPD
,您不知道您使用的是 3G 还是 4G ......至少我还没有能够检测到差异。
可能还有其他子类型表明支持 4G 的设备,但我还没有通过经验验证它们。
这当然不是一个确定的答案,但我希望它有所帮助。