一下提供两种方法获取上网流量相关信息。
- 利用TrafficStats(2.2版本以上)
TrafficStats类存在好几个查看流量的方法,具体说明参照SDK。
getMobileRxBytes
getTotalRxBytes
getUidRxBytes() && getUidTxBytes函数
- 读取系统文件
获取某个应用对应的上传和下载流量:
“/proc/uid_stat/%d/tcp_rcv” 和”/proc/uid_stat/%d/tcp_snd”文件
其中%d为进程uid。
获取总流量:
/sys/class/net/ ***/statistics/rx_bytes
/sys/class/net/ ***/statistics/tx_bytes
/sys/class/net/ 此为linux标准内核,所有版本都一致。
*** 跟版本相关的路径。
例如:
/sys/class/net/rmnet0
/sys/class/net/tiwlan0
其中:
tiwlan0 是 Wifi
rmnet0 是 GPRS
//下载和上传
/statistics/rx_bytes
/statistics/tx_bytes
总结:流量监控不同版本差异相当较大,建议用第2中方法以便扩展及异常处理。