iOS最简单方法判断网络类型——通过状态栏显示

来源:互联网 发布:光纤传输网络 编辑:程序博客网 时间:2024/05/18 01:08

类方法。。。。。。。

////  网络类型typedef enum {    NETWORK_TYPE_NONE = 0,    NETWORK_TYPE_2G = 1,    NETWORK_TYPE_3G = 2,    NETWORK_TYPE_4G = 3,    NETWORK_TYPE_5G = 4,//  5G目前为猜测结果    NETWORK_TYPE_WIFI = 5,}NETWORK_TYPE;+(NSString *)getNetTypeByGetNetworkTypeFromStatusBar{    UIApplication *app = [UIApplication sharedApplication];    NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];    NSNumber *dataNetworkItemView = nil;    for (id subview in subviews) {        if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]])     {            dataNetworkItemView = subview;            break;        }    }    NETWORK_TYPE nettype = NETWORK_TYPE_NONE;    NSNumber * num = [dataNetworkItemView valueForKey:@"dataNetworkType"];    nettype = [num intValue];    NSString *retureStr;    switch (nettype) {        case 0:        {            retureStr = @"无网络";        }            break;        case 1:        {            retureStr = @"2G网络";        }            break;        case 2:        {            retureStr = @"3G网络";        }            break;        case 3:        {            retureStr = @"4G网络";        }            break;        case 4:        {            retureStr = @"5G网络";        }            break;        case 5:        {            retureStr = @"WiFi网络";        }            break;    }//    NSLog(@"retureStr = %@",retureStr);    return retureStr;}
0 0
原创粉丝点击