代码如下:
+(
NSString *)getNetWorkStates{
UIApplication *app = [UIApplication
sharedApplication];
NSArray *children = [[[app valueForKeyPath:
@"statusBar"]valueForKeyPath:
@"foregroundView"]subviews];
NSString *state = [[
NSString alloc]
init];
int netType =
0;
//获取到网络返回码
for (
id child
in children) {
if ([child
isKindOfClass:
NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {
//获取到状态栏 netType = [[child
valueForKeyPath:
@"dataNetworkType"]
intValue];
switch (netType) {
case 0:
state =
@"无网络";
//无网模式 break;
case 1:
state =
@"2G";
break;
case 2:
state =
@"3G";
break;
case 3:
state =
@"4G";
break;
case 5:
{
state =
@"WIFI";
}
break;
default:
break;
}
}
}
//
根据状态选择 return state;
}
根据状态栏获取网络状态,可以区分2G、3G、4G、WIFI,系统的方法,比较快捷。稍微蛋疼的是万一连接的WIFI没有联网的话···你懂得