检测网络状态的方式

1.使用Reachability检测 需要使用Reachability.h,Reachability.m文件

网址

https://developer.apple.com/library/ios/samplecode/Reachability/Listings/Reachability_Reachability_m.html

//使用ReachAblity检测网络状态

-(void)networkReachable{

    //访问网站的网址

    NSString *str  = @"www.baidu.com";

    //创建访问该网站的Reachability

    Reachability *reach = [Reachability  reachabilityWithHostName:str];

    //判断该设备的网路状态

    switch ([reach currentReachabilityStatus]) {

        case NotReachable:

            [self showAlert:@"不能访问"];

            break;

        case ReachableViaWWAN:

            [self showAlert:@"使用移动网络访问"];

            break;

        case ReachableViaWiFi:

            [self showAlert:@"使用wifi网络访问"];

            break;

        default:

            break;

    }

}

-(void)showAlert:(NSString *)str{

    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

    [alert show];

}

2.使用AFNetworking 检测网络状态

//使用AFNetWorking 检测网络状态

-(void)networkReachable{

    //网络监测对象 (单例)

    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];

    //设置网络状态发生变化的回调

    

    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        switch (status) {

            case -1:{

                UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"未知状态" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

                [alert show];

                break;

            }

            case 0:{

                UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"断网状态" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

                [alert show];

                break;

            }

            case 1:{

                UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"移动数据状态" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

                [alert show];

                break;

            }

            case 2:{

                UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"wifi状态" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

                [alert show];

                break;

            }

            default:

                break;

        }

    }];点击打开链接

    //开启监测

    [manager startMonitoring];

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值