android判断正在使用的网络类型 0.不知道网络类型;1、2G;2、3G;3、4g;4、wifi
判断正在使用的网络类型 0.不知道网络类型;1、2G;2、3G;3、4g;4、wifi1
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 }
页:
[1]