直接读取状态栏上信息获取网络状态-可以扩展获取电量运营商等信息

直接读取状态栏上信息获取网络状态-可以扩展获取电量运营商等信息

-(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;

}

 

posted on 2014-10-10 11:34  助金  阅读(210)  评论(0编辑  收藏  举报