一.下提供两种方法获取上网流量相关信息。
利用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中方法以便扩展及异常处理。

更多相关文章

  1. Android(安卓)反编译APK详解
  2. (9)Android之路====Android系统OTA更新
  3. Android之WebView和js交互-调用失败的看这里
  4. Android(安卓)8.0以后获取SSID为的解决方式
  5. Android(安卓)5.0之后如何获取topStack
  6. springmvc dubbo整合cms内容发布平台ios android
  7. Android(安卓)电子签名/手写签名 保存到相册详解
  8. Android(安卓)Internet应用实现获取天气预报的示例代码
  9. Android滚动截屏,ScrollView截屏

随机推荐

  1. android 打开软键盘 关闭软键盘
  2. 帧布局
  3. Android获得系统时间(24小时制)
  4. Android中常用的函数
  5. android canvas中的save()和restore()的
  6. 2011.07.12——— android Foreground se
  7. 深入理解zygote——1(代码源于GooGle)
  8. Android之如何使用junit
  9. 关于android主线程不能访问网络异常Netwo
  10. android應用what to test?