网络监听
1. AFNetworking自带
-(void)startnetwork
{
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
// 当网络状态改变时调用
switch (status) {
case AFNetworkReachabilityStatusUnknown:
[self showHudTipStr:@"未知网络"];
break;
case AFNetworkReachabilityStatusNotReachable:
{
[self showHudTipStr:@"无网络连接"];
}
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
[self showHudTipStr:@"已连接2G/3G/4G"];
[self autoUpdataToServer];
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
[self showHudTipStr:@"已连接WIFI"];
[self autoUpdataToServer];
break;
}
}];
//开始监控
[manager startMonitoring];
}
2. Reachability
//开启网络状况的监听
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name: kReachabilityChangedNotification
object: nil];
hostReach =[Reachability reachabilityWithHostName:@"wap.baidu.com"];//可以以多种形式初始化
[hostReach startNotifier]; //开始监听,会启动一个run loop
// 1.检测wifi状态
Reachability *wifi = [Reachability reachabilityForLocalWiFi];
// 2.检测手机是否能上网络(WIFI\3G\2.5G)
Reachability *conn = [Reachability reachabilityForInternetConnection];
// 3.判断网络状态
if ([wifi currentReachabilityStatus] != NotReachable) { // 有wifi
return YES;
} else if ([conn currentReachabilityStatus] != NotReachable) { // 没有使用wifi, 使用手机自带网络进行上网
return YES;
} else { // 没有网络
return NO;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。