测量Android上的数据漫游流量?

时间:2010-08-03 07:44:51

标签: android measurement traffic roaming

回到冰岛一个非常愉快的假期,等待我的电话公司的数据漫游账单。我希望尽可能地限制我的流量,但我想提前知道。我使用了非常好的应用NetCounter但它根本没有测量漫游数据流量。

所以我想建立自己的应用程序来衡量漫游数据流量。我有一些布尔值(NetworkInfo.IsRoaming()& TelephonyManager.isNetworkRoaming()),但我不确定如何衡量true的流量。

所以问题是:如何在漫游时测量数据流量? (类似于API级别8 TrafficStats功能的东西就是我所追求的,但对于API级别3而言。使用过的SmartPhone是三星Galaxy i7500(Android 1.6)

Thanx你的时间!

2 个答案:

答案 0 :(得分:9)

方法1.解析“/ 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”行是保存移动线路互联网统计信息的行。我希望它的格式在内核版本中没有变化。

方法2:解析“/ sys / class / net”。

我想这是推荐的方法。 如下所示: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)。