使用以下代码示例来获取应用程序使用统计信息:
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);
// ...
// 检查应用程序是否授予了使用统计数据的权限
AppOpsManager appOps = (AppOpsManager) getSystemService(Context.APP_OPS_SERVICE);
int mode = appOps.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS,
android.os.Process.myUid(), getPackageName());
boolean granted = mode == AppOpsManager.MODE_ALLOWED;
UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, -1); // 获取昨天的使用统计信息
long start = calendar.getTimeInMillis();
long end = System.currentTimeMillis();
Map appStats = mUsageStatsManager.queryAndAggregateUsageStats(start, end);