首页 > 其他分享 >Android 上网流量监控方法

Android 上网流量监控方法

时间:2023-03-22 10:04:12浏览次数:41  
标签:statistics uid bytes 上网 class sys 监控 Android net


一.下提供两种方法获取上网流量相关信息。
利用TrafficStats(2.2版本以上)
TrafficStats类存在好几个查看流量的方法,具体说明参照SDK。

getMobileRxBytes
getTotalRxBytes
getUidRxBytes() && getUidTxBytes函数


二.读取系统文件
获取某个应用对应的上传和下载流量:

“/proc/uid_stat/%d/tcp_rcv” 和”/proc/uid_stat/%d/tcp_snd”文件

其中%d为进程uid。
uid_stat下有些手机会找不到下面的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中方法以便扩展及异常处理。

标签:statistics,uid,bytes,上网,class,sys,监控,Android,net
From: https://blog.51cto.com/u_15955464/6142086

相关文章