1

我正在开发一个显示 Android 设备上使用的应用程序的使用情况统计信息的应用程序。我要专门做的是按天划分使用时间。所以本质上,最终目标是有一个条形图,每一列是一天的总使用时间。

我已经实施了用法

private long getWeekStartTime() {
        Calendar calendar = Calendar.getInstance();
        // Set it to 7 days prior
        calendar.add(Calendar.DAY_OF_YEAR, -7);
        return calendar.getTimeInMillis();
}

private long getEndTime(){
        // Set end time to Now
        return System.currentTimeMillis();
}

public void retrieveWeekUsageStats(){
        List<UsageStats> usageStats = usageStatsManager.queryUsageStats(INTERVAL_DAILY,getWeekStartTime(), getEndTime());

        for (UsageStats stat: usageStats) {
            Log.d(TAG, "retrieveWeekUsageStats: " + stat.getPackageName() + " " + stat.getFirstTimeStamp() +" " + stat.getLastTimeStamp());
        }
}

使用上面的代码,我可以注销大量最近使用过的包,但所有的包和日期都是混合的。

我将 UsageStatsManager 中的时间间隔设置为 INTERVAL_DAILY,希望它将包使用的时间间隔分开,但它只是以随机顺序吐出所有内容。按天将此列表分类为块的最佳方法是什么?

我还尝试将 INTERVAL_DAILY 调整为 INTERVAL_WEEKLY 无济于事。

4

0 回答 0