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

相关推荐

  • 九江阿里云代理商:阿里云50元主机被攻击

    很抱歉听到九江阿里云代理商的主机被攻击的消息。 首先,如果您是该代理商的客户,我建议您立即与代理商联系,了解被攻击的具体情况和取得帮助的步骤。代理商应该会有相应的安全团队或技术支持来应对此类情况。 同时,您也可以考虑以下一些常见的应对措施: 通知阿里云:将被攻击的情况及时通知阿里云的技术支持团队,他们可以提供进一步帮助和指导,支持您应对该攻击。 收集攻击证据…

    2024年2月3日
    4600
  • 唐山阿里云代理商:安卓手机如何导入证书

    要在安卓手机上导入证书,可以按照以下步骤操作: 首先,将证书文件发送到你的安卓手机上,可以通过邮件、即时通讯工具等方式发送。 打开手机上的”设置”应用程序。 在设置中,找到”安全”或”安全和隐私”选项。 在安全选项中,找到”凭据存储”或”信任的凭据&#…

    2024年2月1日
    5300
  • 阿里云有什么好的免费应用

    阿里云存储的免费外贸管理软件谁有推荐的? 你所说的可以在电脑以及手机上同时运行的客户管理系统应该是属于B/s模式的客户管理系统,目前像这种模式最好的客户管理系统应该是雷点点外贸客户管理系统,先进的B/S架构,不仅支持电脑访问,而且支持iPad、手机访问,且无需安装客户端,只要有网络,都可以使用,而且他们里面的所有功能都是终身免费!希望对你有帮助,望采纳! 求…

    2023年8月28日
    5100
  • 台湾阿里云代理商:ajax实现实时聊天

    实时聊天可以给网站增加很多交互性和趣味性,可以实现不同用户之间的互动交流。其中最核心的功能就是实时刷新聊天内容。ajax(Asynchronous JavaScript And XML)技术可以实现无刷新更新网页内容,适合实现实时聊天。 下面介绍一种基于ajax实现实时聊天的方法: 在页面中添加聊天框和聊天输入框等元素。 发送消息时,使用ajax将消息发送到…

    2023年12月31日
    6600
  • 阿里云云计算平台名称为?其内核分哪几个部分?

    请教谁对云计算有了解,云计算的组成是怎么划分的?(关键词什么的) 云计算平台:1)服务无处不在 -- 用户只需要一台具备基本计算能力的计算设备以及一个有效的互联网连接,就可以随时随地使用该服务。从这个意义来讲,任何联网的应用,都具备成为云计算平台的潜力。2)具备进入成本 -- 用户具备使用该服务的需求,但是并不具备独立提供该服务的经济或者技术条件。譬如说某些…

    2023年8月26日
    5100

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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