App usage statistics API允许应用程序开发人员收集与应用程序使用情况相关的统计信息.与不推荐使用的getRecentTasks()方法相比,此API提供了更详细的使用信息.
要使用此API,您必须首先在清单中声明android.permission.PACKAGE_USAGE_STATS权限.用户还必须通过设置>启用此应用的访问权限.安全>具有使用权限的应用.
要收集应用程序使用情况的统计信息,您需要先通过以下代码获取UsageStatsManager的实例:
mUsageStatsManager = (UsageStatsManager) getActivity()
.getSystemService(Context.USAGE_STATS_SERVICE);
然后,您可以通过以下方法检索应用程序使用情况的统计信息:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR, -1);
List queryUsageStats = mUsageStatsManager
.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, cal.getTimeInMillis(),
System.currentTimeMillis());
queryUsageStats()的第一个参数用于聚合统计信息的时间间隔.第二个和第三个参数用于指定要包含在结果中的统计数据范围的开头和结尾.
这是一个basic app code on GitHub,显示了如何使用App使用统计API来让用户收集与应用程序使用情况相关的统计信息.
注意:android.app.usage要求API等级21或以上.