我正在使用 UsageStatsManager API 来获取特定时间间隔的使用统计信息。如果我使用预定义的时间间隔(即 INTERVAL_DAILY、INTERVAL_WEEKLY、INTERVAL_MONTHLY、INTERVAL_YEARLY),一切正常。但是,如果我想查看过去 2 或 3 小时的数据,我会得到今天一整天的数据。我曾尝试使用 Calendars 和 System.currentTimeMillis() 但这并没有给我过滤结果。
日历方法:
Calendar startCalendar = Calendar.getInstance();
startCalendar.add(Calendar.HOUR_OF_DAY, -2);
Calendar endCalendar = Calendar.getInstance();
并将其传递给 queryUsageStats 方法,如下所示:
usageList = usm.queryUsageStats(interval, startCalendar.getTimeInMillis(), endCalendar.getTimeInMillis());
其中间隔是 INTERVAL_BEST。
System.currentTimeMillis() 方法:
long startTime = System.currentTimeMillis() - 7200*1000 // 7200 seconds i.e. 2 hrs
long endTime = System.currentTimeMillis();
像上面一样将它传递给 queryUsageStats :
usageList = usm.queryUsageStats(interval, startTime, endTime);
其中间隔再次是 INTERVAL_BEST。
我想知道是否有可能获取此持续时间(即不到一天)的数据,因为 INTERVAL_BEST 尚未正确记录以包含此信息。任何帮助将不胜感激,因为我被困在这个问题上。