我正在尝试查询UsageStats
from UsageStatsManager
。
我已经建立了一个DateUtils
类为我提供了获取每天/每月/每年(即将到来的一周)的开始和结束时间的方法,如下所示:
public static Calendar getCal(int year, int month, int day) {
Calendar cal = Calendar.getInstance();
cal.set(year, month, day, 0, 0, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal;
}
public static long getDayStart(int year, int month, int day) {
return getCal(year, month, day).getTimeInMillis();
}
public static long getDayEnd(int year, int month, int day) {
Calendar cal = getCal(year, month, day);
cal.add(Calendar.DATE, 1);
return cal.getTimeInMillis();
}
我正在使用这些 long 来查询UsageStats
不同日期:
mUsageStats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, startTime, endTime);
我可以获取今天的数据,但前几天将返回一个空列表。
这就是我用来获取数据的方法:
12 nov 2014, with type UsageStatsManager.INTERVAL_DAILY
startTime: 1415746800000
endTime: 1415833200000
mUsageStats size: 18
11 nov 2014, with type UsageStatsManager.INTERVAL_DAILY
startTime: 1415660400000
endTime: 1415746800000
mUsageStats size: 0
API 中是否存在限制,导致我无法获取较旧的数据,或者我是否做错了什么?