对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析。android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为 long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计。
static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,不包含WiFi
static long getMobileRxPackets() //获取Mobile连接收到的数据包总数
static long getMobileTxBytes() //Mobile发送的总字节数
static long getMobileTxPackets() //Mobile发送的总数据包数
static long getTotalRxBytes() //获取总的接受字节数,包含Mobile和WiFi等
static long getTotalRxPackets() //总的接受数据包数,包含Mobile和WiFi等
static long getTotalTxBytes() //总的发送字节数,包含Mobile和WiFi等
static long getTotalTxPackets() //发送的总数据包数,包含Mobile和WiFi等
static long getUidRxBytes(int uid) //获取某个网络UID的接受字节数
static long getUidTxBytes(int uid) //获取某个网络UID的发送字节数
总接受流量TrafficStats.getTotalRxBytes(),
总发送流量TrafficStats.getTotalTxBytes());
不包含WIFI的手机GPRS接收量TrafficStats.getMobileRxBytes());
不包含Wifi的手机GPRS发送量TrafficStats.getMobileTxBytes());
某一个进程的总接收量TrafficStats.getUidRxBytes(Uid));
某一个进程的总发送量TrafficStats.getUidTxBytes(Uid));
这些都是从第一次启动程序到最后一次启动的统计量。并不是
这篇文章里所说的“从本次开机到本次关机的统计量”!
用法举例,注意这里得到的单位都是"KB"
public long getTotalRxBytes(){ //获取总的接受字节数,包含Mobile和WiFi等
return TrafficStats.getTotalRxBytes()==TrafficStats.UNSUPPORTED?0:(TrafficStats.getTotalRxBytes()/1024);
}
public long getTotalTxBytes(){ //总的发送字节数,包含Mobile和WiFi等
return TrafficStats.getTotalTxBytes()==TrafficStats.UNSUPPORTED?0:(TrafficStats.getTotalTxBytes()/1024);
}
public long getMobileRxBytes(){ //获取通过Mobile连接收到的字节总数,不包含WiFi
return TrafficStats.getMobileRxBytes()==TrafficStats.UNSUPPORTED?0:(TrafficStats.getMobileRxBytes()/1024);
}
关于2.2版本之前的流量统计
http://www.eoeandroid.com/thread-201729-1-3.html
分享到:
相关推荐
android_net_TrafficStats.cpp
* 返回所有有互联网权限的应用的流量信息 */ public List<TrifficInfo> getTrifficInfos(){ //获取到配置权限信息的应用程序 List<PackageInfo> packageInfos=pm.getInstalledPackages(PackageManager.GET_...
本例子是一个安卓流量统计的小例子,可以统计每个应用的网络流量,区分移动网络与WIFI 技术点: 使用TrafficStats记录流量变化 使用Service,BroadcastReceiver监控网络状态变化 使用sqlite记录各个应用已用流量数据...
统计每个应用的网络流量,区分移动网络与WIFI 技术点: 使用TrafficStats记录流量变化 使用Service,BroadcastReceiver监控网络状态变化 使用sqlite记录各个应用已用流量数据
本例子是一个安卓流量统计的小例子,可以统计每个应用的网络流量,区分移动网络与WIFI 技术点: 使用TrafficStats记录流量变化 使用Service,BroadcastReceiver监控网络状态变化 使用sqlite记录各个应用已用流量数据...
Returns an ASCII decimal number read from the specified file,.
后台服务监控流量统计是一个安卓流量统计的小例子,可以统计每个应用的网络流量,区分移动网络与WIFI 技术点: 使用TrafficStats记录流量变化 使用Service,BroadcastReceiver监控网络状态变化 使用sqlite记录各个...
原理是通过API里的TrafficStats类获得流量信息。 由于流量信息在关机后会被清零,所以用SQLite把数据保存了下来。 主要就是用了大量的数据库操作和很多逻辑上的东西(比如建两个数据表,一个临时汇总,一个记录...
3、流量悬浮窗,显示每秒的流量情况(默认的是每5秒更新一次,如果觉得更新太慢改成1秒就好了)原理是通过API里的TrafficStats类获得流量信息。 由于流量信息在关机后会被清零,所以用SQLite把数据保存了下来。 ...
Android M引入了新的程序包,用于监视设备或程序包的数据使用情况统计信息。 android.app.usage.NetworkStatsManager 该项目演示了新模型的功能。 一个示例应用程序显示了获取所有必需权限的正确方法,以及如何...
其实sniffer就是干这个的 ,楼主可以看看WPCAP技术文档,基于WPCAP做会简单点~~~
android版流量监控,操作TrafficStats类的范例,适合新手!
cordova的流量统计插件
调用: private val mHnadler = object : Handler() { override fun handleMessage(msg: Message) { when (msg.what) { 100 -> { transmission = msg.obj.toString() Log.e("transmissionaa",msg.obj.toString...
后台服务监控流量统计是一个安卓流量统计的小例子,可以统计每个应用的网络流量,区分移动网络与WIFI 技术点: 使用TrafficStats记录流量变化 使用Service,BroadcastReceiver监控网络状态变化 使用sqlite记录各个...
在Android里,监控wifi状态的代码和文档描述。
Android, the next-generation open mobile platform from Google and the Open Handset Alliance, is poised to become a significant player in the mobile device market. The Android platform gives developers...
Focus On: TrafficStats Measuring Bandwidth Consumption Being Smarter About Bandwidth Issues with Application Heap Finding Memory Leaks Issues with System RAM Issues with Battery Life Power Measurement...
TrafficStats实现监听网速条件