在iOS开发者,获取网络状态比较常用
-(NSString *)getNetWorkStates{ UIApplication *app = [UIApplication sharedApplication]; NSArray *children = [[[app valueForKeyPath:@"statusBar"]valueForKeyPath:@"foregroundView"]subviews]; NSString *state = nil; 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; }
时间: 2024-10-18 08:03:49