[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name: kReachabilityChangedNotification
object: nil];
hostReach = [Reachability reachabilityWithHostName:@"www.google.com"];//[service serverBaseURL].absoluteString];
[hostReach startNotifier];
- (void)reachabilityChanged:(NSNotification *)note {
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
NetworkStatus status = [curReach currentReachabilityStatus];
NSLog(@"*******network: %d********",status);
switch (status) {
case NotReachable:
{
self.networkState = 1;
// 没有网络连接
if (![self.networkStatus isEqualToString:@""])
[self performSelector:@selector(showNetworkInfo:) withObject:TIME_OUT_MESSAGE afterDelay:0];
self.networkStatus=@"Not";
}
break;
case ReachableViaWWAN:
{
self.networkState = 0;
// 使用3G网络
if (![self.networkStatus isEqualToString:@""])
[self performSelector:@selector(showNetworkInfo:) withObject:NSLocalizedString(@"当前网络已切换至3G或GPRS。",@"当前网络已切换至3G或GPRS。") afterDelay:0];
self.networkStatus=@"WWAN";
}
break;
case ReachableViaWiFi:
{
self.networkState = 0;
// 使用WiFi网络
if (![self.networkStatus isEqualToString:@""])
[self performSelector:@selector(showNetworkInfo:) withObject:NSLocalizedString(@"当前网络已切换至wifi。 ",@"当前网络已切换至wifi。 ") afterDelay:0];
self.networkStatus=@"WiFi";
}
break;
default:
self.networkState = 0;
break;
}
}