检测网络连接状态

#import "AFNetworkReachabilityManager.h"

- (BOOL)isNetWorkReachable{

__block CGRect rect = _nonNetworkLabel.frame; //这里的声明前面加__block,作用是在块里可以修改rect的值;

AFNetworkReachabilityManager *afNetworkReachabilityManager = [AFNetworkReachabilityManager sharedManager];

[afNetworkReachabilityManager startMonitoring];  //开启网络监视器;

[afNetworkReachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
{

switch (status) {

case AFNetworkReachabilityStatusNotReachable:{

NSLog(@"网络不通:%f",
rect.origin.y );

_nonNetworkLabel.hidden = NO;

_nonNetworkLabel.text = @"网络不通..";

[self performSelector:@selector(hidden) withObject:nil afterDelay:3];

break;

}

case AFNetworkReachabilityStatusReachableViaWiFi:{

NSLog(@"网络通过WIFI连接:%f",
rect.origin.y );

_nonNetworkLabel.hidden = NO;

_nonNetworkLabel.text = @"网络通过WIFI连接..";

[self performSelector:@selector(hidden) withObject:nil afterDelay:3];

break;

}

case AFNetworkReachabilityStatusReachableViaWWAN:{

NSLog(@"网络通过流量连接:%f",
rect.origin.y );

_nonNetworkLabel.hidden = NO;

_nonNetworkLabel.text = @"网络通过流量连接..";

[self performSelector:@selector(hidden) withObject:nil afterDelay:3];

break;

}

default:

break;

}

}];

return [AFNetworkReachabilityManager sharedManager].isReachable;

}

- (void)hidden

{

_nonNetworkLabel.hidden = YES;

}

- (void)viewDidLoad

{

[super viewDidLoad];

if ([[[UIDevice currentDevice]systemVersion]floatValue]>=7.0)
{

self.tabBar.translucent = NO;

}

else if ([[[UIDevice currentDevice]systemVersion]floatValue]
< 7.0){

}

//self.view.backgroundColor = [UIColor redColor];

//默认选择第几个

self.selectedIndex = 0;

self.nonNetworkLabel = [[UILabel alloc]initWithFrame:CGRectMake(80, self.view.frame.size.height - 70, 160, 20)];

_nonNetworkLabel.backgroundColor = [UIColor blackColor];

_nonNetworkLabel.alpha = 0.6;

_nonNetworkLabel.textColor = [UIColor whiteColor];

_nonNetworkLabel.textAlignment = NSTextAlignmentCenter;

_nonNetworkLabel.font = [UIFont systemFontOfSize:12];

_nonNetworkLabel.hidden = YES;

[self.view addSubview:_nonNetworkLabel];

[self isNetWorkReachable];

}

检测网络连接状态

时间: 2025-01-21 16:51:49

检测网络连接状态的相关文章

android检测网络连接状态示例讲解

网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置 Android连接首先,要判断网络状态,需要有相应的权限,下面为权限代码(AndroidManifest.xml): 复制代码 代码如下: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="a

IOS检测网络连接状态(转)

IOS检测网络连接状态(转) 使用之前请从Apple网站下载示例:点此下载 然后将Reachability.h 和 Reachability.m 加到自己的项目中,并引用 SystemConfiguration.framework,就可以使用了. Reachability 中定义了3种网络状态: // the network state of the device for Reachability 1.5. typedef enum { NotReachable = 0, //无连接 Reach

Android 检测网络连接状态

Android APP需要连接网络的时候,并不是每次都能连接到网络,因此需要在程序对当前设备的网络状态进行检测,以便及时对用户进行提醒. 判断网络状态,需要有相应的权限,权限代码如下(AndroidManifest.xml): <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.perm

检测网络连接状态_转

1. 根据ifconfig中相应网口的RUNNING字段检查 int check_net(const char *eth) { int ret = 1; char buf[256]; FILE *fp; memset(buf, 0, 256); sprintf(buf, "ifconfig %s | grep 'RUNNING'", eth); fp = popen(buf, "r"); if(fp == NULL) { kprintf(KRELEASE, E_DU

qt检测网络连接状态【只能检测和路由器的连接,不能测试到外网的连接】

#include <QCoreApplication>#include <QDebug>#include <QTextStream>#include <QDir>#include <QFile>#include <QList>#include <QThread>#include <QtNetwork/QNetworkConfigurationManager>#include <QtNetwork/QNet

[转]:IOS检测网络连接状态

转:http://www.cnblogs.com/ketmales/archive/2013/01/23/2873688.html

Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面

http://www.mobiletuts.me 获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager  类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager 的作用: Class that answers queries about the state of network connectivi

Android编程 获取网络连接状态 及调用网络配置界面

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager 类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager的作用: Class that answers queries about the state of network connectivity. It also notifies applic

怎样检查Android网络连接状态

在发送任何HTTP请求前最好检查下网络连接状态,这样可以避免异常.这个教程将会介绍怎样在你的应用中检测网络连接状态. 创建新的项目 1.在Eclipse IDE中创建一个新的项目并把填入必须的信息.  File->New->Android Project 2.创建新项目后的第一步是要在AndroidManifest.xml文件中添加必要的权限. 为了访问网络我们需要 INTERNET 权限 为了检查网络状态我们需要 ACCESS_NETWORK_STATE 权限 AndroidManifest