我有一个应用程序,只要有一些事件(例如 View 更改),它就会显示网络可用性。但是,我正在寻找一个在后台运行的代码来检查网络可用性,即使我将在同一屏幕上空闲并且它必须显示一条消息“网络不可用/网络可用”
Best Answer-推荐答案 strong>
我使用这段代码来检测网络可用性。我基本上声明本地变量来弄清楚我是在 WiFi 还是 3G 网络上,或者互联网是否可用。
通知每隔一段时间就会出现并更新这些变量。您可以访问这些 BOOL 变量以了解状态。
- (void)checkNetworkStatusNSNotification *)notice
{
// called after network status changes
NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
switch(internetStatus)
{
case NotReachable:
{
//NSLog(@"The internet is down.");
self.internetActive = NO;
break;
}
case ReachableViaWiFi:
{
//NSLog(@"The internet is working via WIFI.");
self.internetActive = YES;
break;
}
case ReachableViaWWAN:
{
//NSLog(@"The internet is working via WWAN.");
self.internetActive = YES;
break;
}
}
NetworkStatus hostStatus = [hostReachable currentReachabilityStatus];
switch (hostStatus)
{
case NotReachable:
{
//NSLog(@"A gateway to the host server is down.");
self.hostActive = NO;
break;
}
case ReachableViaWiFi:
{
//NSLog(@"A gateway to the host server is working via WIFI.");
self.hostActive = YES;
break;
}
case ReachableViaWWAN:
{
//NSLog(@"A gateway to the host server is working via WWAN.");
self.hostActive = YES;
break;
}
}
return;
}
关于iphone - 后台网络检查,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8430351/
|