刚从冰岛度过一个愉快的假期回来,正在等待我的电话公司的数据漫游账单。我希望尽可能限制我的流量,但我想提前知道。我使用了非常好的应用程序网络计数器但它根本没有测量漫游数据流量。
所以我想构建自己的应用程序,仅测量漫游数据流量。我有一些布尔值要开始(NetworkInfo.IsRoaming() & TelephonyManager.isNetworkRoaming()),但我不确定如何测量流量true
.
那么问题是:如何测量漫游时的数据流量?(类似于 API 级别 8交通统计功能是我所追求的,但针对 API 级别 3)。使用的智能手机是 Samsung Galaxy i7500 (Android 1.6)
谢谢你的时间!
方法一、解析“/proc/net/dev”。
在我的手机中它看起来像:
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 712 8 0 0 0 0 0 0 712 8 0 0 0 0 0 0
dummy0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rmnet0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rmnet1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rmnet2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
wlan0: 146112 423 32 0 0 0 0 0 42460 409 0 0 0 0 0 0
在我的手机中,“rmnet0”行是保存移动线路互联网统计信息的行。我希望它的格式不会因内核版本而异。
方法二:解析“/sys/class/net”。
我想这是推荐的方法。
如图所示:http://www.jaqpot.net/svn/android/netcounter/trunk/src/net/jaqpot/netcounter/service/SysClassNet.java
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)