zoukankan      html  css  js  c++  java
  • android判断正在使用的网络类型 0.不知道网络类型;1、2G;2、3G;3、4g;4、wifi

    判断正在使用的网络类型 0.不知道网络类型;1、2G;2、3G;3、4g;4、wifi

     1     
     2     /** Unknown network class. {@hide} */
     3     public static final String NETWORK_CLASS_UNKNOWN = "0";
     4     /** Class of broadly defined "2G" networks. {@hide} */
     5     public static final String NETWORK_CLASS_2_G = "1";
     6     /** Class of broadly defined "3G" networks. {@hide} */
     7     public static final String NETWORK_CLASS_3_G = "2";
     8     /** Class of broadly defined "4G" networks. {@hide} */
     9     public static final String NETWORK_CLASS_4_G = "3";
    10     /** Class of broadly defined "wifi" networks. {@hide} */
    11     public static final String NETWORK_CLASS_WIFI = "4";
    12     /**
    13      * 判断正在使用的网络类型 0.不知道网络类型;1、2G;2、3G;3、4g;4、wifi
    14      * @param context
    15      * @return
    16      */
    17     public static String getNet(Context context) {
    18         try {
    19             ConnectivityManager manager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
    20             State mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
    21             State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
    22             if(mobile == State.CONNECTED||mobile==State.CONNECTING) {
    23                 NetworkInfo info = manager.getActiveNetworkInfo();
    24                 int type = info.getSubtype();
    25                 switch (type) {
    26                 case TelephonyManager.NETWORK_TYPE_GPRS:
    27                 case TelephonyManager.NETWORK_TYPE_EDGE:
    28                 case TelephonyManager.NETWORK_TYPE_CDMA:
    29                 case TelephonyManager.NETWORK_TYPE_1xRTT:
    30                 case TelephonyManager.NETWORK_TYPE_IDEN:
    31                     return NETWORK_CLASS_2_G;
    32                 case TelephonyManager.NETWORK_TYPE_UMTS:
    33                 case TelephonyManager.NETWORK_TYPE_EVDO_0:
    34                 case TelephonyManager.NETWORK_TYPE_EVDO_A:
    35                 case TelephonyManager.NETWORK_TYPE_HSDPA:
    36                 case TelephonyManager.NETWORK_TYPE_HSUPA:
    37                 case TelephonyManager.NETWORK_TYPE_HSPA:
    38                 case TelephonyManager.NETWORK_TYPE_EVDO_B:
    39                 case TelephonyManager.NETWORK_TYPE_EHRPD:
    40                 case TelephonyManager.NETWORK_TYPE_HSPAP:
    41                     return NETWORK_CLASS_3_G;
    42                 case TelephonyManager.NETWORK_TYPE_LTE:
    43                     return NETWORK_CLASS_4_G;
    44                 default:
    45                     return NETWORK_CLASS_UNKNOWN;
    46                 }
    47             }
    48             else if(wifi == State.CONNECTED||wifi==State.CONNECTING) {
    49                 return NETWORK_CLASS_WIFI;
    50             }
    51         } catch (Exception e) {
    52             LogUtil.e(tag, e);
    53             return NETWORK_CLASS_UNKNOWN;
    54         }
    55         return NETWORK_CLASS_UNKNOWN;
    56     }
  • 相关阅读:
    ModelFirst的CRUD
    EF中逆变和协变
    ERP客户关系渠管理(二十)
    ERP反馈信息管理(十九)
    ERP系统上传文档信息下载(十八)
    比较 数组与对象的同源特性
    对android的认识
    我的知乎
    HTTP来源地址
    BroadcastReceiver 翻译
  • 原文地址:https://www.cnblogs.com/code4app/p/4444320.html
Copyright © 2011-2022 走看看