作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我想获取今天应用使用情况的数据,首先我允许我的应用从设置中读取应用使用统计信息,然后我使用这个查询来获取 UsageStats
UsageStatsManager usm = (UsageStatsManager) context.getSystemService("usagestats");
(我正在以编程方式计算 startTimeStamp 和 endTimeStamp,但这里是硬编码的示例)。
long startTimeStamp = 1452124800000; // today's Morning 12:00:00 AM
long endTimeStamp= 1452211199000; // today's Night 11:59:59 PM
List<UsageStats> usageStatsList = usm.queryUsageStats(UsageStatsManager.INTERVAL_BEST, startTimeStamp, endTimeStamp);
我成功地从 UsageStatsManager 获取了正确的数据。
但是如果我使用相同的查询来获取昨天应用程序使用情况的数据,我只是更改了startTimeStamp
和endTimeStamp
按昨天时间戳值计算的值。
我没有从 UsageStatsManager 获取任何数据。它返回一个空列表。
我还通过将 intervalType
更改为 UsageStatsManager.INTERVAL_DAILY
来尝试相同的查询。但是,我仍然从 Android UsageStatsManager 获取空数据。
有什么方法可以获取前一天的 App 使用数据吗??
最佳答案
您可以使用具有正确毫秒数的 queryAndAggregateUsageStats()
方法从您想要的任何日期(在讨论的范围内 here 内)获取使用情况统计信息,如下所示:
UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
if(mUsageStatsManager != null){
Calendar beginCal = Calendar.getInstance();
beginCal.add(Calendar.DATE, -1);
Calendar endCal = Calendar.getInstance();
Map<String, UsageStats> queryUsageStats = mUsageStatsManager.queryAndAggregateUsageStats(beginCal.getTimeInMillis(), endCal.getTimeInMillis());
}
关于android - 从 UsageStatsManager Android 获取以前日期的应用程序使用数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34649881/
我是一名优秀的程序员,十分优秀!