获取的是开机后WIFI,3G/GPRS网络下使用流量
2013-09-28 07:03
537 查看
iOS获取设备流量使用情况,iPhone Data Usage Tracking/Monitoring,获取的是开机后WIFI,3G/GPRS网络下使用流量(仅仅只能获取开机后的)。
#include <arpa/inet.h> #include <net/if.h> #include <ifaddrs.h> #include <net/if_dl.h> + (NSArray *)getDataCounters { BOOL success; struct ifaddrs *addrs; const struct ifaddrs *cursor; const struct if_data *networkStatisc; int WiFiSent = 0; int WiFiReceived = 0; int WWANSent = 0; int WWANReceived = 0; NSString *name=[[[NSString alloc]init]autorelease]; success = getifaddrs(&addrs;) == 0; if (success) { cursor = addrs; while (cursor != NULL) { name=[NSString stringWithFormat:@"%s",cursor->ifa_name]; NSLog(@"ifa_name %s == %@\n", cursor->ifa_name,name); // names of interfaces: en0 is WiFi ,pdp_ip0 is WWAN if (cursor->ifa_addr->sa_family == AF_LINK) { if ([name hasPrefix:@"en"]) { networkStatisc = (const struct if_data *) cursor->ifa_data; WiFiSent+=networkStatisc->ifi_obytes; WiFiReceived+=networkStatisc->ifi_ibytes; NSLog(@"WiFiSent %d ==%d",WiFiSent,networkStatisc->ifi_obytes); NSLog(@"WiFiReceived %d ==%d",WiFiReceived,networkStatisc->ifi_ibytes); } if ([name hasPrefix:@"pdp_ip"]) { networkStatisc = (const struct if_data *) cursor->ifa_data; WWANSent+=networkStatisc->ifi_obytes; WWANReceived+=networkStatisc->ifi_ibytes; NSLog(@"WWANSent %d ==%d",WWANSent,networkStatisc->ifi_obytes); NSLog(@"WWANReceived %d ==%d",WWANReceived,networkStatisc->ifi_ibytes); } } cursor = cursor->ifa_next; } freeifaddrs(addrs); } return [NSArray arrayWithObjects:[NSNumber numberWithInt:WiFiSent], [NSNumber numberWithInt:WiFiReceived], [NSNumber numberWithInt:WWANSent], [NSNumber numberWithInt:WWANReceived], nil]; }
相关文章推荐
- Reachability.h 开源类的使用:判断网络环境,连接情况(无网络连接,3G,WIFI,GPRS)
- droid编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- iOS开发 - 如何获取设备的总容量和可用容量 网络运营商 3g/wifi判断 手机型号
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- windows下使用C#获取特定进程网络流量
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- 获取手机的网络连接状态——暂时实现区分wifi和流量的
- 获取Android当前网络类型(2g、3g、4g、wifi)以及手机型号、版本号
- Android中使用代码开关GPS、移动网络(GPRS)、WiFi
- 在vb中使用Iphlpapi.dll获取网络信息 第四章 第三节 实例一:网络数据流量图
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- iOS获取设备网络状态,2G,3G,4G,wifi,非Reachability
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android 获取本机WIFI及3G网络IP
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- android 中获取网络状态、判断3G、2G、wifi网络、判断wifi是否打开、获取本机地址、获取本机串号IMEI整理
- 判断手机使用网络wifi 2G 3G
- Android获取当前的网络连接信息和网络链接状态 GPRS 和 WiFi网络
- android获取3G或wifi流量信息