ConnectivityManager 怎样检测4G网络已联网
时间: 2024-02-23 16:57:52 浏览: 66
要检测4G网络是否联网,可以使用 ConnectivityManager 检测当前网络连接状态并获取当前活动网络的类型。下面是一个示例代码:
```java
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnected()) {
// 获取活动网络的类型
int type = activeNetwork.getType();
if (type == ConnectivityManager.TYPE_MOBILE) {
// 获取活动网络的子类型,例如:2G、3G、4G等
int subType = activeNetwork.getSubtype();
if (subType == TelephonyManager.NETWORK_TYPE_LTE) {
// 4G网络已连接
// TODO: 在这里执行相关的操作
}
}
}
```
上面的代码中,首先获取了 ConnectivityManager 的实例,并通过它获取了当前活动的网络信息。然后,通过 getType() 方法获取活动网络的类型,如果是移动网络,则通过 getSubtype() 方法获取子类型。如果子类型等于 TelephonyManager.NETWORK_TYPE_LTE,说明当前网络是 4G 网络,此时可以执行相关的操作。
阅读全文