AFN網絡狀態的時時監控以及網絡的判斷、


 //3.判斷網絡狀況
    AFNetworkReachabilityManager *netManager = [AFNetworkReachabilityManager sharedManager];
    [netManager startMonitoring];  //開始監聽
    [netManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){
        
        if (status == AFNetworkReachabilityStatusNotReachable)
        {
            //showAlert
            [[[UIAlertView alloc]initWithTitle:@"提示" message:@"網絡鏈接錯誤,請檢查網絡鏈接" delegate:nil cancelButtonTitle:@"我知道了" otherButtonTitles:nil, nil]show];
            
            DLog(@"沒有網絡");
            
            return;
            
        }else if (status == AFNetworkReachabilityStatusUnknown){
            
            DLog(@"未知網絡");
            
        }else if (status == AFNetworkReachabilityStatusReachableViaWWAN){
            
            DLog(@"WiFi");
            
        }else if (status == AFNetworkReachabilityStatusReachableViaWiFi){
            
            DLog(@"手機網絡");
        }
        
    }];

 

 

1.Reachability // 監聽網絡狀態改變的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil]; // 創建Reachability self.conn = [Reachability reachabilityForInternetConnection]; // 開始監控網絡(一旦網絡狀態發生改變, 就會發出通知kReachabilityChangedNotification) [self.conn startNotifier]; // 處理網絡狀態改變 - (void)networkStateChange { // 1.檢測wifi狀態 Reachability *wifi = [Reachability reachabilityForLocalWiFi]; // 2.檢測手機是否能上網絡(WIFI\3G\2.5G) Reachability *conn = [Reachability reachabilityForInternetConnection]; // 3.判斷網絡狀態 if ([wifi currentReachabilityStatus] != NotReachable) { // 有wifi NSLog(@"有wifi"); } else if ([conn currentReachabilityStatus] != NotReachable) { // 沒有使用wifi, 使用手機自帶網絡進行上網 NSLog(@"使用手機自帶網絡進行上網"); } else { // 沒有網絡 NSLog(@"沒有網絡"); } } 2.AFN // 1.獲得網絡監控的管理者 AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager]; // 2.設置網絡狀態改變后的處理 [mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { // 當網絡狀態改變了, 就會調用這個block switch (status) { case AFNetworkReachabilityStatusUnknown: // 未知網絡 NSLog(@"未知網絡"); break; case AFNetworkReachabilityStatusNotReachable: // 沒有網絡(斷網) NSLog(@"沒有網絡(斷網)"); break; case AFNetworkReachabilityStatusReachableViaWWAN: // 手機自帶網絡 NSLog(@"手機自帶網絡"); break; case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI NSLog(@"WIFI"); break; } }]; // 3.開始監控 [mgr startMonitoring];


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM