iOS 判断当前网络类型

- (void)NetworkStatusTo

{

NSArray *subviews = [[[[UIApplication sharedApplication] valueForKey:@"statusBar"] valueForKey:@"foregroundView"]subviews];

NSNumber *dataNetworkItemView = nil;

for (id subview in subviews) {

if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {

dataNetworkItemView = subview;

break;

}

}

switch ([[dataNetworkItemView valueForKey:@"dataNetworkType"]integerValue]) {

case 0:

NSLog(@"No wifi or cellular");

break;

case 1:

NSLog(@"2G");

break;

case 2:

NSLog(@"3G");

break;

case 3:

NSLog(@"4G");

break;

case 4:

NSLog(@"LTE");

break;

case 5:

NSLog(@"Wifi");

break;

default:

break;

}

}

时间: 2024-11-09 03:37:19

iOS 判断当前网络类型的相关文章

android如何判断当前网络类型(联网,2g,3g,wifi等)

一般对网络的判断都是判断是否联网,不过有时候我们需要知道具体的网络类型,比如在3g网络下,百度地图的定位功能存在很大的偏差,这就需要提前判断网络类型针对3g网络情况做特殊的处理. 关于Android如何检测网络的类型,网上代码很多,但是有用的不多,真正解决了问题的我只找到一篇(见文章末尾网址),为了更好的方便自己理解,对这片文章做了解释和整理. 在android中判断网络需要用到ConnectivityManager,下面的方法演示了如何用ConnectivityManager判断当前是否联网:

iOS获取当前网络类型(Wifi、2G、3G、4G)

在工程添加:SystemConfiguration.framework 去苹果API里搜索Reachability,下载Demo(点击左上角Download Sample Code 即可下载),把demo里的Reachability.h和Reachability.m拖到自己的工程里.也可以在百度里面搜索”Reachability”,然后下载,不一定非要到苹果官网去下载. 但是使用Reachability有一个问题,就是它只能判断当前是Wifi或者手机自带网络,没有办法详细得判断2G.3G.4G.

iOS 判断当前网络状态

1.如果只判断当前是否是无网的状态: if([Reachability reachabilityForLocalWiFi].currentReachabilityStatus==NotReachable&&[[Reachability reachabilityForInternetConnection] currentReachabilityStatus]==NotReachable) { //没网的操作 }else { //有网的操作 } 2.监听网络状态的改变 导入头文件 #impor

iOS判断某中类型是否来自系统NSFoundation

思路:将所有NSFoundation中的类型记录到一个数组中,然后通过数组的 containsObject:方法去判断所要判断的类型是否包含在此数组中. 简单代码如下: + (BOOL)isClassFromFoundation:(Class)c { NSArray* foundationClasses = @[@"NSObject", @"NSNumber",@"NSArray",@"NSMutableArray",@&qu

iOS完美的网络状态判断工具

大多数App都严重依赖于网络,一款用户体验良好的的app是必须要考虑网络状态变化的.iOSSinger下一般使用Reachability这个类来检测网络的变化. Reachability 这个是苹果开发文档里面的一个类,官方写的,用来判断网络的变化,包括无网络,wifi,和蜂窝三种情况.Reachability类实际上是苹果公司对SCNetworkReachability API的封装,使用方法比较简单,这里不再介绍.说说它的优缺点: 优点 使用简单,只有一个类,官方还有Demo,容易上手 灵敏

Android 判断当前网络连接类型

实际应用开发时,如果存在需要用户获取大量数据的情况,最好是先判断下网络类型,提示用户当前的网络类型,是否需要连接Wifi,etc.(手机流量太贵啦,当然土豪是无视这玩意的, (/ □ \)). 定义网络连接类型: public static final int NETTYPE_NULL = 0x00; //未连接网络 public static final int NETTYPE_WIFI = 0x01; //WIFI public static final int NETTYPE_MOBILE

iOS 判断当前是否连接到网络和网络类型

之前有判断过是否连接到网络,没有使用apple的示例中的Reachability. #import <sys/socket.h> #import <netinet/in.h> #import <arpa/inet.h> #import <SystemConfiguration/SCNetworkReachability.h> -(BOOL)isConnectToNewtwork { struct sockaddr_in zeroAddress; bzero(

网络类型判断

判断当前所用网络的状态,包括主动判断和当网络变化时的被动判断 一.MainActivity.java package com.example.networklistener; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; import android.net.ConnectivityManager; import andro

iOS 判断网络连接状态的几种方法

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #801b80 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "Comic Sans MS"; color: #801b80 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; col