我需要查找单个webservice / API调用消耗了多少数据。我搜索了很多,发现了这个:
commonsguy/cw-andtuning
How can I find the data usage on a per-application basis on Android?
但是这些给了我整个应用程序的DataUsage,我想找到它用于单个API / webservice调用。
答案 0 :(得分:0)
这是没有建立的方式。您需要自己添加每次调用时返回的数据大小。
答案 1 :(得分:0)
如果您当时执行一个API调用,那么您可能会查看android.net.TrafficStats
。在其中,有一个方法android.net.TrafficStats#getUidTxPackets(int uid)
和android.net.TrafficStats#getUidRxPackets(int uid)
。您可以从android.content.pm.ApplicationInfo#uid
获取您的应用程序uid。
在通话前获取该值,然后在通话后再次获取该值,并计算差异。
但是,请注意:
在android.os.Build.VERSION_CODES#JELLY_BEAN_MR2之前,这可能会返回UNSUPPORTED