zoukankan      html  css  js  c++  java
  • Android获取网络类型

    public static final String NETWORK_CLASS_UNKNOWN = "unknown";
    public static final String NETWORK_CLASS_WIFI = "wifi";
    public static final String NETWORK_CLASS_2_G = "2g";
    public static final String NETWORK_CLASS_3_G = "3g";
    public static final String NETWORK_CLASS_4_G = "4g";

    /**
    * 获取网络类型
    * @param context
    * @return
    */
    public static String getNetworkType(Context context) {

    ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo info = manager.getActiveNetworkInfo();

    if (info != null) {

    switch (info.getType()) {
    case ConnectivityManager.TYPE_WIFI:
    return NETWORK_CLASS_WIFI;
    case ConnectivityManager.TYPE_MOBILE:
    switch (info.getSubtype()) {
    case TelephonyManager.NETWORK_TYPE_GPRS:
    case TelephonyManager.NETWORK_TYPE_EDGE:
    case TelephonyManager.NETWORK_TYPE_CDMA:
    case TelephonyManager.NETWORK_TYPE_1xRTT:
    case TelephonyManager.NETWORK_TYPE_IDEN:
    return NETWORK_CLASS_2_G;
    case TelephonyManager.NETWORK_TYPE_UMTS:
    case TelephonyManager.NETWORK_TYPE_EVDO_0:
    case TelephonyManager.NETWORK_TYPE_EVDO_A:
    case TelephonyManager.NETWORK_TYPE_HSDPA:
    case TelephonyManager.NETWORK_TYPE_HSUPA:
    case TelephonyManager.NETWORK_TYPE_HSPA:
    case TelephonyManager.NETWORK_TYPE_EVDO_B:
    case TelephonyManager.NETWORK_TYPE_EHRPD:
    case TelephonyManager.NETWORK_TYPE_HSPAP:
    return NETWORK_CLASS_3_G;
    case TelephonyManager.NETWORK_TYPE_LTE:
    return NETWORK_CLASS_4_G;
    default:
    return NETWORK_CLASS_UNKNOWN;
    }
    default:
    return NETWORK_CLASS_UNKNOWN;
    }
    }

    return NETWORK_CLASS_UNKNOWN;
    }

  • 相关阅读:
    第十二章 基本数据类型
    第十一章 变量名的力量
    第十章 使用变量的一般事项
    第九章 伪代码编程过程
    第八章 防御式编程
    JMeter简介
    第七章 高质量的子程序
    第六章 可以工作的类
    第五章 软件构建中的设计
    第四章 关键的“构建”决策
  • 原文地址:https://www.cnblogs.com/zfg-technology/p/4900467.html
Copyright © 2011-2022 走看看