阿里云国际站: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

Like (0)
luotuoemo的头像luotuoemo
Previous 2024年3月23日 05:03
Next 2024年3月23日 05:17

相关推荐

  • 许昌阿里云代理商:android虚拟机没有键盘输入

    如果在Android虚拟机上没有键盘输入,可能有以下几种原因和解决方法: 检查虚拟机设置:确保虚拟机的键盘设置正确。在虚拟机设置中,可能有一个选项可以控制是否开启虚拟键盘。确保该选项已启用。 检查键盘输入法:在虚拟机中可能存在键盘输入法的设置问题。打开虚拟机的设置菜单,找到”语言和输入法”或类似的选项,检查输入法设置是否正确。可能需要…

    2024年2月2日
    10500
  • 兰州阿里云代理商:阿里云语音识别系统专业版v9.1

    阿里云语音识别系统专业版v9.1是一款由阿里云提供的语音识别服务工具。该工具使用先进的深度学习技术,可以将语音信号转换为文本信息。它支持多种语音输入方式,包括实时语音、离线语音、电话语音等。同时,该工具还支持多语种的语音转文字识别,可以用于处理多种语言的语音数据。 阿里云语音识别系统专业版v9.1具有以下特点: 高准确率:通过深度学习模型的训练和优化,可以实…

    2024年1月8日
    8000
  • 如何提高阿里云企业邮箱的邮件发送成功率和稳定性在复杂网络环境下?

    如何提高阿里云企业邮箱的邮件发送成功率和稳定性在复杂网络环境下 在当今全球化的商业环境中,企业对电子邮件的依赖日益增加,邮件的发送成功率和稳定性直接影响着沟通效率和业务运作。特别是在复杂网络环境下,提升阿里云企业邮箱的邮件发送成功率和稳定性成为了一个关键问题。本文将结合阿里云企业邮箱的特性以及阿里云企业邮箱代理商的优势,深入探讨如何在复杂网络环境下提高邮件的…

    2024年10月31日
    1700
  • 怎么管理自己的阿里云服务器

    手机软件阿里云如何控制服务器 remote desktop,前提是你的服务器系统是win 买了个windows系统的阿里云服务器,不知道怎么使用 你使用远程桌面登陆上去,如果是挂机,就上传软件,然后安装运行。如果是建站,使用php环境包来安装 建站环境,然后上传建站程序,安装,域名解析到服务器ip上,去建站面板中添加域名,就可以通过域名访问网站了。 如何使用…

    2023年8月28日
    8100
  • 阿里云运维人员工资高吗

    阿里集团的服务运营专员薪资多少? 招聘的是2013届毕业生,工作内容相当于淘宝客服,主要面向客户,是正式员工。求问其薪资。这个要看你的级别,阿里的员工的级别份P和M两条线P是指走专业的路线,M是走管理皮线路。现在M基本上不怎么招了来自,大都是P级。如果是P4以上应该有4000以上吧,具体不清楚。这个还要看你怎么跟HR谈,360问答以及谈的结果。如果你的水平比…

    2023年8月26日
    6800

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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