我可以拥有以下哪些功能?以及如何?
1-Daily data usage or even hourly.
2-From the last device data wipe date to now.
3-Contains application details.
I don't want to monitor and save data usage history.
I want to have it all after installing the application.
**Please** tell if there is more than one way And also if thy need Root access
Or if they work on a specific API version.
答案 0 :(得分:0)
在过去,我想捕获设备的数据使用情况而不对其进行监视。我当时唯一知道的方法是在后台使用服务捕获所有内容,我认为这会占用大量CPU。 (TrafficStats是当时的唯一方法)
要回答其他可能看到的问题,我应该说以下话。
根据Google文档,您可以获取Long.MIN_VALUE和Long.MAX_VALUE之间的任何时间段的数据使用情况。
查询可以以开始和结束的形式定义时间间隔 时间戳记(Long.MIN_VALUE和Long.MAX_VALUE可用于模拟 开放式间隔)。
您可以根据其他应用程序的UID来使用它们,然后可以使用它们来查找程序包名称等。(Referral project)
documentation中有5种方法。
摘要查询
querySummaryForDevice(int,String,long,long)
querySummaryForUser(int,String,long,long)
querySummary(int,String,long,long)
这些查询汇总整个时间间隔内的网络使用情况。 因此,对于一个特定的键,状态, 计费和漫游组合。在整个用户范围内 设备范围内汇总包含汇总网络的单个存储桶 用法返回。
历史查询
queryDetailsForUid(int,String,long,long,int)
queryDetails(int,String,long,long)
这些查询不会随时间汇总,但会根据状态汇总, 计费和漫游。因此,对于一个 特定的键。但是,所有存储桶都将具有状态 NetworkStats.Bucket.STATE_ALL,默认网络 NetworkStats.Bucket.DEFAULT_NETWORK_ALL,已计量 NetworkStats.Bucket.METERED_ALL,漫游 NetworkStats.Bucket.ROAMING_ALL。