获取网络状态,区分2G3G4GWIFI等,非reachability

代码如下:

+( 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没有联网的话···你懂得
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值