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     }
  • 相关阅读:
    [JLOI2011]飞行路线 不同的算法,不同的悲伤
    洛谷 [USACO17OPEN]Bovine Genomics G奶牛基因组(金) ———— 1道骗人的二分+trie树(其实是差分算法)
    P3203 [HNOI2010]弹飞绵羊 —— 懒标记?分块?
    tarjan 题目汇总(含解析)
    P1262 间谍网络 (tarjan缩点 水过去)
    #1117. 编码 ( 字典树版 ) 题解分析
    一道并查集的(坑)题:关闭农场closing the farm
    四重解法---P1047 校门外的树
    一道搜索题【2013 noip提高组 DAY2 t3】华容道
    ●BZOJ 1499 [NOI2005]瑰丽华尔兹
  • 原文地址:https://www.cnblogs.com/code4app/p/4444320.html
Copyright © 2011-2022 走看看