⑴ iOS 判断网络连接状态的几种方法
(一).Reachability
添加源文件及Framework
Apple 的官方例子 Reachability 中介绍了获取、检测设备当前网络状态的方法。在你的程序中,需要把该工程中的Reachability.h 和 Reachability.m 拷贝到你的工程中,同时需要把 SystemConfiguration.framework 添加到工程中,
如下图:
// 监听网络状态改变的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name: object:nil];
// 创建Reachability
self.conn = [Reachability ];
// 开始监控网络(一旦网络状态发生改变, 就会发出通知)
[self.conn startNotifier];
// 处理网络状态改变
- (void)networkStateChange
{
// 1.检测wifi状态
Reachability *wifi = [Reachability reachabilityForLocalWiFi];
// 2.检测手机是否能上网络(WIFI\3G\2.5G)
Reachability *conn = [Reachability ];
// 3.判断网络状态
if ([wifi currentReachabilityStatus] != NotReachable) { // 有wifi
NSLog(@"有wifi");
} else if ([conn currentReachabilityStatus] != NotReachable) { // 没有使用wifi, 使用手机自带网络进行上网
NSLog(@"使用手机自带网络进行上网");
} else { // 没有网络
NSLog(@"没有网络");
}
}
(二).AFN
// 1.获得网络监控的管理者
AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];
// 2.设置网络状态改变后的处理
[mgr :^(AFNetworkReachabilityStatus status) {
// 当网络状态改变了, 就会调用这个block
switch (status) {
case : // 未知网络
NSLog(@"未知网络");
break;
case : // 没有网络(断网)
NSLog(@"没有网络(断网)");
break;
case : // 手机自带网络
NSLog(@"手机自带网络");
break;
case : // WIFI
NSLog(@"WIFI");
break;
}
}];
// 3.开始监控
[mgr startMonitoring];
(三)从状态栏中获取网络类型,代码如下:
- (NSString *)getNetWorkStates{
UIApplication *app = [UIApplication sharedApplication];
NSArray *children = [[[app valueForKeyPath:@"statusBar"]valueForKeyPath:@"foregroundView"]subviews];
NSString *state = [[NSString alloc]init];
int netType = 0;
//获取到网络返回码
for (id child in children) {
if ([child isKindOfClass:NSClassFromString(@"")]) {
//获取到状态栏
netType = [[child valueForKeyPath:@"dataNetworkType"]intValue];
switch (netType) {
case 0:
state = @"无网络";
//无网模式
break;
case 1:
state = @"2G";
break;
case 2:
state = @"3G";
break;
case 3:
state = @"4G";
break;
case 5:
{
state = @"wifi";
break;
default:
break;
}
}
}
//根据状态选择
}
return state;
}
基本原理是从UIApplication类型中通过valueForKey获取内部属性 statusBar。然后筛选一个内部类型
(),最后返回他的 dataNetworkType属性,根据状态栏获取网络
状态,可以区分2G、3G、4G、WIFI,系统的方法,比较快捷,不好的是万一连接的WIFI 没有联网的话,
识别不到。
⑵ 怎样设置手机网络设置
上网设置1。建立数据帐户
设置-连接-数据通讯-数据账户-添加帐户-gprs数据
名称:gprs(自己随便写)
apn:
cmwap
用户id:
留空
密码:
留空
保存
2。编辑新添加的账户
设置-连接-数据通讯-数据账户-gprs(就是刚刚建立的那个账户)-编辑
apn:cmnet
用户名:空
密码:空
登陆请求:关闭
优选服务:自动
ip地址:空全
dns地址:
验证:默认(前三项)
数据压缩:关闭
标题压缩:关闭
3。建立模式
连接-互联网设定-互联网模式-添加模式
名称:移动梦网(还是自定)
连接方式:gprs(刚刚我们建立的数据账户)
保存
连接-互联网设定-互联网模式-移动梦网(我们建立的模式)-更多-设定
连接方式:gprs
互联网模式:http
使用代理:是
ip地址:010.000.000.172
端口号:80
用户名:cmnet
(或者空白)
密码:cmnet
(或者空白
彩信设置
信息功能-设定-彩信设置
有效时间:网络最大值
阅读报告:打开(自定)
发送报告:打开(自定
创建模式:警告
自动下载:每次讯问
允许接受的信息:随便(自定)
信息服务器:mmsc.monternet.com
互联网模式:
gprs(还是我们建立的数据账户)
⑶ 小米手机网络状态怎么查询
1/6 分步阅读
打开小米手机界面,在小米手机界面中有一个【设置】。这时我们点击设置,进行操作,如下图演示。
2/6
点击小米手机设置以后,进入设置在设置中网下拉。操作如下列图片演示。
3/6
拉到小米手机最近下面,界面中有一个【关于手机】。这时点击【关于手机】。操作如下图演示。
4/6
这时进入另一个界面,在这个界面中下方有一个【状态信息】点击进入,如下图
5/6
按照下列图片可以查询到移动网络状态,可以看到手机网络是否正常
6/6
本篇经验系本人依照真实经历原创,未经许可,谢绝转载
⑷ 手机QQ里显示4G在线、iPhone在线、WiFi在线,分别是什么网络连接状态
手机QQ显示4G在线、iPhone在线、WiFi在线时的网络连接状态的意思,可以按照以下方法查看。
《一》
1、4G在线状态
就是QQ在手机4G信号状态下登录时的样子,4G信号状态下的网速是10-100Mbps,速度每秒能达到1.5M/s-10M/s,在接收文字视频信息非常快。
⑸ 你手机 APN (cmnet)是什么属性 怎么设置的参数(移动网络卡手机)
打开手机设置,点击双卡和移动网络。点击SIM卡信息中的中国移动或中国联通。点击运营商网络设置中的接入点名称,此接入点名称就是apn的设置。若界面有CMNET或CMWAP,则直接点击设置即可。若没有,需要手动设置:重置为默认值,或填写新建的接入点名称,参数即可。
⑹ 手机如何像电脑一样查看已连接的网络属性
按住要选的网络名 高级就可以了
⑺ 怎么修改手机QQ网络状态
首先以前手机QQ是不支持设置在线状态及自动回复的,需要电脑端才能调整在线状态及自动回复。但是QQ更新8.0.6(2019年6月1号左右)版本时候,升级了此项功能,所以现在手机版QQ可以设置在线状态和自动回复。手机QQ设置自动回复及在线状态步骤:1:在手机QQ上点击头像右下角;
完成
⑻ 如何设置手机网络类型及在通知栏上显示网速状态
1、首先我们打开,手机的设置功能“设置”,一般是齿轮图标的。
2、进入到设置页面之后,找到“网络与连接”,在这下面有一个“双卡与移动网络”,其他的手机可能只有“移动网络”,都是一样的,选择打开它
3、之后可以看到我们sim卡的信息,可能是移动的,电信的,或者是联通的,都是一样,直接点击打开
4、在sim卡信息里面有一个“网络类型选择”,我们把它打开
5、在网络类型选择的页面中就可以选择你当前网络的连接类型。“4G网络优先”就是先搜索到4G网络,之后是3G网络,最后是2G网络,以此类推,根据你的需要选择就可以了。
6、接下来给你们介绍下怎么在通知栏上显示当前网速以及网络状态。首先我们也是打开设置,在设置中有一个“通知和状态栏”,选择打开它。
7、“通知和状态栏”页面中有“状态栏”,下面有“显示实时网速”“显示运营商名称”等,只要在后面选择上了,就可以在状态栏中看到实时网速了。