Фоновая проверка сети - PullRequest
       4

Фоновая проверка сети

2 голосов
/ 08 декабря 2011

У меня есть приложение, которое отображает доступность сети всякий раз, когда происходит какое-либо действие, такое как изменение представления.Тем не менее, я ищу код, который работает в фоновом режиме, чтобы проверить доступность сети, даже если я буду бездействовать на том же экране, и он должен отобразить сообщение, что «сеть недоступна / сеть доступна»

1 Ответ

2 голосов
/ 08 декабря 2011

Я использую этот фрагмент кода для определения доступности сети.Я в основном объявляю локальные переменные, чтобы выяснить, например, нахожусь ли я в сети Wi-Fi или 3G или доступен ли интернет.

Уведомления приходят через определенные промежутки времени и обновляют эти переменные.Вы получаете доступ к этим BOOL-переменным, чтобы узнать статус.

- (void)checkNetworkStatus:(NSNotification *)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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...