WiFi 连接可用时的通知 [英] Notification when WiFi connection available

查看:119
本文介绍了WiFi 连接可用时的通知的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当设备有可用的 WiFi 连接或设备通过 WiFi 连接时,我需要通知.只有在有 WiFi 时我才需要做一些事情.

I need a notification when device has WiFi connection is available or Device get connect via WiFi. I need to do some stuff only when WiFi is available.

我使用了 Reachability 中的以下代码:

I have used following code from Reachability:

BOOL status=true;

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkNetworkStatus:) name:kReachabilityChangedNotification object:nil];

internetReachability = [Reachability reachabilityForInternetConnection];
[internetReachability startNotifier];

NetworkStatus internetNetworkStatus = [internetReachability currentReachabilityStatus];
status = (internetNetworkStatus == ReachableViaWiFi);

但是checkNetworkStatus:方法没有正确和准确地调用.所以,请指导我解决这个问题.

But checkNetworkStatus: method not called properly and accurately. So, please guide me to solve this problem.

对解决问题的任何帮助都必须感谢.

Any help to solve problem must be appreciated.

推荐答案

我希望它能帮助您解决问题.

I hope it will help you in your problem.

-(void) rechabilityInit
{
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(reachabilityChanged:)
                                                 name:kReachabilityChangedNotification
                                               object:nil];



self.internetConnectionReach = [Reachability reachabilityForInternetConnection];

self.internetConnectionReach.reachableBlock = ^(Reachability * reachability)
{

   NSLog(@"%@", reachability.currentReachabilityString);

    [[NSOperationQueue mainQueue] addOperationWithBlock:^{
  dispatch_async(dispatch_get_main_queue(), ^{

      // Do stuff here when WIFI is availble

     }];
};

self.internetConnectionReach.unreachableBlock = ^(Reachability * reachability)
{
  NSLog(@"%@", reachability.currentReachabilityString);
    dispatch_async(dispatch_get_main_queue(), ^{
      [[NSOperationQueue mainQueue] addOperationWithBlock:^{
        // do some stuff here when WIFI not present 
    }];
};    
[self.internetConnectionReach startNotifier];        

}

-(void)reachabilityChanged:(NSNotification*)note
{

     Reachability * reach = [note object];
     if (reach == self.localWiFiReach)
     {
     if([reach isReachable])
     {
     NSString * temp = [NSString stringWithFormat:@"LocalWIFI Notification Says Reachable(%@)", reach.currentReachabilityString];
     NSLog(@"%@", temp);
      }
     else
     {
     NSString * temp = [NSString stringWithFormat:@"LocalWIFI Notification Says Unreachable(%@)", reach.currentReachabilityString];
    NSLog(@"%@", temp);
     }
     }

}

这篇关于WiFi 连接可用时的通知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆