gpt4 book ai didi

android - 从 UsageStatsManager Android 获取以前日期的应用程序使用数据

转载 作者:行者123 更新时间:2023-11-29 01:24:49 24 4
gpt4 key购买 nike

如果我想获取今天应用使用情况的数据,首先我允许我的应用从设置中读取应用使用统计信息,然后我使用这个查询来获取 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 获取了正确的数据。

但是如果我使用相同的查询来获取昨天应用程序使用情况的数据,我只是更改了startTimeStampendTimeStamp昨天时间戳值计算的值。

我没有从 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com