【问题标题】:Retrieve UsageStats for a specific package检索特定包的 UsageStats
【发布时间】:2018-07-10 02:18:58
【问题描述】:

我尝试过使用

List<UsageStats> stats2 = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, 0, time); 

获取所有已安装应用程序的 UsageStats 对象列表,但由于某种原因它最多只返回 25 个。我没有看到在UsageStatsManager 中获取特定包名称的UsageStats 的方法。

我计划使用ApplicationInfo getInstalledApplications() 来获得更准确的列表,但不知道如何从中获得UsageStats。有谁知道如何解决我的问题?

【问题讨论】:

    标签: android usage-statistics android-applicationinfo


    【解决方案1】:

    您可以使用 queryAndAggregateUsageStats 合并生成的 UsageStats 数据并按包名称对其进行键控。

    Map<String, UsageStats> aggregatedStatsMap= usageStatsManager.queryAndAggregateUsageStats(start, end);
    //Get stats for particular package as follows:
    UsageStats usageStats= aggregatedStatsMap.get("<packageName>");
    

    【讨论】:

    • 合理的答案,但该方法没有给出包含所有已安装包的地图。
    • @John61590 你只需要增加时间间隔。为那些在该时间间隔内使用过的应用程序返回使用情况统计信息。在此时间间隔内,用户可能未使用所有应用程序。
    • 那么间隔是从 1970 年(0,unix 纪元时间)到现在,所以应该不错吧?
    • @John61590 是的。应该不错。您还需要考虑到,有些应用程序是预先安装的,但从未使用过。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 2019-11-11
    相关资源
    最近更新 更多