阿里云国际站:android 判断手机网络类型的

在Android中,可以通过ConnectivityManagerNetworkInfo类,判断手机目前正在使用的网络类型。以下给出示例代码:

public String getNetworkType(Context context) {
    String strNetworkType = "";
    
    NetworkInfo networkInfo = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
    
    if (networkInfo != null && networkInfo.isConnected()) {
        if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
            strNetworkType = "WIFI";
        } else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
            String _strSubTypeName = networkInfo.getSubtypeName();
            
            //如果是2G类型
            if (_strSubTypeName.equalsIgnoreCase("GSM") || _strSubTypeName.equalsIgnoreCase("CDMA")
                    || _strSubTypeName.equalsIgnoreCase("EDGE") || _strSubTypeName.equalsIgnoreCase("1xRTT")
                    || _strSubTypeName.equalsIgnoreCase("IDEN")) {
                strNetworkType = "2G";
            }
            //如果是3G类型
            else if (_strSubTypeName.equalsIgnoreCase("UMTS") || _strSubTypeName.equalsIgnoreCase("EVDO_0")
                    || _strSubTypeName.equalsIgnoreCase("EVDO_A") || _strSubTypeName.equalsIgnoreCase("HSDPA")
                    || _strSubTypeName.equalsIgnoreCase("HSUPA") || _strSubTypeName.equalsIgnoreCase("HSPA")
                    || _strSubTypeName.equalsIgnoreCase("EVDO_B") || _strSubTypeName.equalsIgnoreCase("EHRPD")
                    || _strSubTypeName.equalsIgnoreCase("HSPAP")) {
                strNetworkType = "3G";
            }
            //如果是4G类型
            else if (_strSubTypeName.equalsIgnoreCase("LTE") || _strSubTypeName.equalsIgnoreCase("UMB")
                    || _strSubTypeName.equalsIgnoreCase("HSPA+")) {
                strNetworkType = "4G";
            }
            //Unknown
            else {
                strNetworkType = _strSubTypeName;
            }
        }
    }
    
    return strNetworkType;
}

请注意,这些代码需要ACCESS_NETWORK_STATE权限,因此请在您的manifest.xml中添加此行:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

上述代码主要是使用了ConnectivityManager来获取当前活跃的网络连接信息,然后通过判断网络类型和子类型名称来判断手机正在使用的具体网络类型。

阿里云国际站:android 判断手机网络类型的

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/170528.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月23日 05:03
下一篇 2024年3月23日 05:17

相关推荐

  • 泰州阿里云代理商:ASP中

    ASP中指的是Active Server Pages(活动服务器页面),是一种基于服务器端的脚本技术,用来生成动态网页。 阿里云代理商是指与阿里云合作的代理商,提供阿里云产品的销售、服务和支持等业务。泰州阿里云代理商是指在泰州地区代理阿里云产品的合作伙伴。 泰州阿里云代理商可能提供以下服务: 阿里云产品的咨询和销售:帮助客户选择适合的阿里云产品,并进行销售。…

    2024年1月3日
    11300
  • 阿里物联网云平台名字

    云平台概念是什么?AIot云平台和物联网云平台是一个东西吗? 这种平台是允许开发者们或者是将写好的程序放在“云”里运行,或是使用“云”里提供的服务。首先AIot与物联网不是同一个东西,AIoT=AI+IoT;物联网,我们可以从字面上理解,就是把我们平常见到的东西都连上互联网,使物与物之间能够进行信息交换和通信。天诺AIot云平台就不是简单的物联网云平台,它依…

    2023年8月27日
    9100
  • 阿里云国际站充值:apache禁止使用ip访问网站

    <!DOCTYPE html><html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"> <title&g…

    2024年3月23日
    9300
  • 宣化阿里巴巴云计算中心位置

    阿里云数据中心在哪些地方 阿里碧宽液的数据巧指中心主要都在南方浙江等地,杭州的数据中心最密集。虽然阿里在北京上海也有分公司,但拥有的都是本地公司的小数据中心悔物。 什么是云计算中心操作系统? 云计算中心操作系统,又称云计算操作系统、云OS,是云计算后台数据中心的整体管理运营系统(也有人认为云计算系统包括云终端操作系统,例如现在流行的各类手机操作系统,这与先行…

    2023年8月28日
    13200
  • 芜湖阿里云代理商:阿里云邮箱 注册

    芜湖地区的阿里云代理商可以为你提供阿里云产品和服务的本地支持。如果你需要注册阿里云邮箱,可以通过以下步骤进行操作: 访问阿里云官网: 打开浏览器并进入阿里云的官方网站(www.aliyun.com)。 注册账号: 如果你还没有阿里云账号,点击网页右上角的“注册”按钮,按照提示完成账号注册。 登录账号: 完成注册后,使用你刚刚创建的账号和密码登录阿里云官网。 …

    2024年5月30日
    11100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/