zoukankan      html  css  js  c++  java
  • 判断网络类型

    获取网络数据类型,需要导入一个苹果api文件:Reachability(可以直接在官方上下载),里面的枚举类型就是对应网络类型 kSCNetworkReachabilityFlagsIsWWAN、 kSCNetworkReachabilityFlagsReachable、kSCNetworkReachabilityFlagsTransientConnection、 kSCNetworkReachabilityFlagsConnectionRequired kSCNetworkReachabilityFlagsConnectionOnTraffic、kSCNetworkReachabilityFlagsInterventionRequired、 kSCNetworkReachabilityFlagsConnectionOnDemand、 kSCNetworkReachabilityFlagsIsLocalAddress、kSCNetworkReachabilityFlagsIsDirect

    自定义的一个返回方法:

    #pragma mark - 判断网络类型
    
    + (NSString *)getNetconnType{
        
        NSString *netconnType = @"";
        
        Reachability *reach = [Reachability reachabilityWithHostName:@"www.apple.com"];
        
        switch ([reach currentReachabilityStatus]) {
            case NotReachable:// 没有网络
            {
                
                netconnType = @"no_network";
            }
                break;
                
            case ReachableViaWiFi:// Wifi
            {
                netconnType = @"Wifi";
            }
                break;
                
            case ReachableViaWWAN:// 手机自带网络
            {
                // 获取手机网络类型
                CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
                
                NSString *currentStatus = info.currentRadioAccessTechnology;
                
                if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyGPRS"]) {
                    
                    netconnType = @"GPRS";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyEdge"]) {
                    
                    netconnType = @"2.75G EDGE";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyWCDMA"]){
                    
                    netconnType = @"3G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyHSDPA"]){
                    
                    netconnType = @"3.5G HSDPA";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyHSUPA"]){
                    
                    netconnType = @"3.5G HSUPA";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMA1x"]){
                    
                    netconnType = @"2G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMAEVDORev0"]){
                    
                    netconnType = @"3G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMAEVDORevA"]){
                    
                    netconnType = @"3G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMAEVDORevB"]){
                    
                    netconnType = @"3G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyeHRPD"]){
                    
                    netconnType = @"HRPD";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyLTE"]){
                    
                    netconnType = @"4G";
                }
            }
                break;
                
            default:
                break;
        }
        
        return netconnType;
    }
    
  • 相关阅读:
    开发一个cube.js cratedb driver
    dremio 时间操作函数
    authelia web sso 解决方案
    dremio sql server 出现无法绑定由多个部分组成的标识符的解决方法
    cratedb 4.5 企业特性可以免费使用了
    cube.js 新版本cubestore 禁用
    spring-native 编译spring 应用为graalvm native 镜像
    streamsets tar 模式启动
    streamset data collector 新注册机制
    Swarm 集群管理
  • 原文地址:https://www.cnblogs.com/angongIT/p/6105266.html
Copyright © 2011-2022 走看看