美文网首页
iOS开发 获取wifi信号强度

iOS开发 获取wifi信号强度

作者: 爱闹的凡 | 来源:发表于2017-06-05 16:27 被阅读118次

    遍历UIStatusBar获取信号类型

    - (void)getNetworkType

    {

    UIApplication *app = [UIApplication sharedApplication];

    NSArray *subviews = [[[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"foregroundView"] subviews];

    for (id subview in subviews) {

    if ([subview isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {

    int networkType = [[subview valueForKeyPath:@"dataNetworkType"] intValue];

    switch (networkType) {

    case 0:

    NSLog(@"NONE");

    break;

    case 1:

    NSLog(@"2G");

    break;

    case 2:

    NSLog(@"3G");

    break;

    case 3:

    NSLog(@"4G");

    break;

    case 5:

    {

    NSLog(@"WIFI");

    }

    break;

    default:

    break;

    }

    }

    }

    }

    - (void)getSignalStrength{

    UIApplication *app = [UIApplication sharedApplication];

    NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];

    NSString *dataNetworkItemView = nil;

    for (id subview in subviews) {

    if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {

    dataNetworkItemView = subview;

    break;

    }

    }

    int signalStrength = [[dataNetworkItemView valueForKey:@"_wifiStrengthBars"] intValue];

    NSLog(@"signal %d", signalStrength);

    }

    相关文章

      网友评论

          本文标题:iOS开发 获取wifi信号强度

          本文链接:https://www.haomeiwen.com/subject/dpaifxtx.html