回到冰岛一个非常愉快的假期,等待我的电话公司的数据漫游账单。我希望尽可能地限制我的流量,但我想提前知道。我使用了非常好的应用NetCounter但它根本没有测量漫游数据流量。
所以我想建立自己的应用程序来衡量漫游数据流量。我有一些布尔值(NetworkInfo.IsRoaming()& TelephonyManager.isNetworkRoaming()),但我不确定如何衡量true
的流量。
所以问题是:如何在漫游时测量数据流量? (类似于API级别8 TrafficStats功能的东西就是我所追求的,但对于API级别3而言。使用过的SmartPhone是三星Galaxy i7500(Android 1.6)
Thanx你的时间!
答案 0 :(得分:9)
在我的手机中,它看起来像:
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”行是保存移动线路互联网统计信息的行。我希望它的格式在内核版本中没有变化。
我想这是推荐的方法。 如下所示:http://www.jaqpot.net/svn/android/netcounter/trunk/src/net/jaqpot/netcounter/service/SysClassNet.java
答案 1 :(得分:3)
评论中提到了几个开源选项:
我目前安装的是3G Watchdog。 There are a few comments by the author on AndroLib建议他不愿意发布源代码,但在社区的帮助下,我相信我们都可以合作制作最好的数据使用应用程序。
我认为最好的解决方案是从NetMeter获取代码并在后台运行服务。 3G Watchdog执行此操作(该服务称为net.NetMonitorService
)。