AFNetworkReachabilityManager检查网络状态
2016-01-28 15:23
489 查看
1、开启监听 [[AFNetworkReachabilityManager sharedManager] startMonitoring];
2、[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
{
switch (status) {
case AFNetworkReachabilityStatusNotReachable:{
NSLog(@"无网络");
break;
}
case AFNetworkReachabilityStatusReachableViaWiFi:{
NSLog(@"WiFi网络");
break;
}
case AFNetworkReachabilityStatusReachableViaWWAN:{
NSLog(@"无线网络");
break;
}
default:
break;
}
}];
#define kNetworkNotReachability ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus <= 0) //无网
如果启动就去检测 建议延时调用
eg:[self performSelector:@selector(login:) withObject:nil afterDelay:0.35f];
由于检测网络有一定的延迟,所以如果启动app立即去检测调用[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus 有可能得到的是status == AFNetworkReachabilityStatusUnknown;但是此时明明是有网的,建议在收到监听网络状态回调以后再取[AFNetworkReachabilityManager
sharedManager].networkReachabilityStatus。
2、[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
{
switch (status) {
case AFNetworkReachabilityStatusNotReachable:{
NSLog(@"无网络");
break;
}
case AFNetworkReachabilityStatusReachableViaWiFi:{
NSLog(@"WiFi网络");
break;
}
case AFNetworkReachabilityStatusReachableViaWWAN:{
NSLog(@"无线网络");
break;
}
default:
break;
}
}];
#define kNetworkNotReachability ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus <= 0) //无网
如果启动就去检测 建议延时调用
eg:[self performSelector:@selector(login:) withObject:nil afterDelay:0.35f];
由于检测网络有一定的延迟,所以如果启动app立即去检测调用[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus 有可能得到的是status == AFNetworkReachabilityStatusUnknown;但是此时明明是有网的,建议在收到监听网络状态回调以后再取[AFNetworkReachabilityManager
sharedManager].networkReachabilityStatus。
相关文章推荐
- Android之网络编程(五)简易联接框架
- c++工程中发送http请求的示例
- Android之网络编程(四)解析 JSON 格式数据
- 使用中国CDN网络分发Unity网页插件的方法
- UDP通信
- 【java网络编程】之四
- 【java网络编程】之三
- 【java网络编程】之二
- android网络编程--HttpURLConnection(结合Handler和子线程)
- HTTPURLConnection参数详解
- 【java网络编程】之一
- Android之网络编程(三)使用 HttpClient
- XMLHttpRequest2 异步 ajax
- Ajax comet XMLHttpRequest 异步
- 单元测试中模拟HttpContext.Current
- Android之网络编程(二)使用 HttpURLConnection
- Let’s encrypt 计划为网站提供免费的基本 SSL 证书,以加速互联网从 HTTP 向 HTTPS 过渡。
- Android之网络编程(一)WebView 的用法
- 网络数据包收发流程(四):协议栈之packet_type
- 进行网络出现问题Error Domain=kCFErrorDomainCFNetwork Code=-1022 "The resource could not be loaded because th