判断手机移动网络5G识别方法

 

刚好今天用到,就放着给大家一起用下,实在是这时候网上不好找,也是去developer上面找文档的

 

public static int getCurrentNetType(Context context) {
    int type = 1;//默认wifi
    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo info = cm.getActiveNetworkInfo();
    if (info == null) {
        type = 1;//wifi
    } else if (info.getType() == ConnectivityManager.TYPE_WIFI) {
        type = 1;//wifi
    } else if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
        int subType = info.getSubtype();
        if (subType == TelephonyManager.NETWORK_TYPE_GSM ||
                subType == TelephonyManager.NETWORK_TYPE_GPRS  ||
                subType == TelephonyManager.NETWORK_TYPE_CDMA ||
                subType == TelephonyManager.NETWORK_TYPE_EDGE ||
                subType == TelephonyManager.NETWORK_TYPE_1xRTT ||
                subType == TelephonyManager.NETWORK_TYPE_IDEN
                ) {
            type = 2;//2G
        } else if (
                subType == TelephonyManager.NETWORK_TYPE_TD_SCDMA ||
                subType == TelephonyManager.NETWORK_TYPE_EVDO_A ||
                subType == TelephonyManager.NETWORK_TYPE_UMTS ||
                subType == TelephonyManager.NETWORK_TYPE_EVDO_0 ||
                subType == TelephonyManager.NETWORK_TYPE_HSDPA ||
                subType == TelephonyManager.NETWORK_TYPE_HSUPA ||
                subType == TelephonyManager.NETWORK_TYPE_HSPA ||
                subType == TelephonyManager.NETWORK_TYPE_EVDO_B||
                subType == TelephonyManager.NETWORK_TYPE_EHRPD||
                subType == TelephonyManager.NETWORK_TYPE_HSPAP
                ) {
            type = 3;//3G
        } else if (subType == TelephonyManager.NETWORK_TYPE_IWLAN ||
                subType == TelephonyManager.NETWORK_TYPE_LTE) {// LTE是3g到4g的过渡,是3.9G的全球标准
            type = 4;//4G
        } else if(subType == TelephonyManager.NETWORK_TYPE_NR){ //api 29 时生效  为5G网络类型  值为20也是一样
            type = 5;//5G
        }
    }
    Logger.e("type","type====================="+type);
    return type;
}

有兴趣的可以自己去看最后在附上developer查API地址接:https://developer.android.google.cn/reference/android/telephony/TelephonyManager.html?hl=en

 

你可能感兴趣的:(移动网络5G,手机5G判断)