跳过主要内容
返回插件

使用统计管理器

访问 Android 使用统计以跟踪应用程序使用时间和屏幕时间分析

指南

使用统计数据管理器的使用教程

使用@capgo/capacitor-android-usagestatsmanager

Capacitor插件,用于访问API的Android UsageStatsManager

安装

bun add @capgo/capacitor-android-usagestatsmanager
bunx cap sync

此插件暴露的内容

  • queryAndAggregateUsageStats - 为给定时间范围查询和聚合使用统计数据。
  • isUsageStatsPermissionGranted - 检查是否已授予使用统计数据权限。
  • openUsageStatsSettings - 打开使用统计数据设置屏幕。该屏幕将打开,允许用户授予使用统计数据权限。即使权限已被授予,该屏幕也将始终打开。
  • queryAllPackages - 设备上查询所有安装的包。需要 QUERY_ALL_PACKAGES 权限。

示例用途

queryAndAggregateUsageStats

查询并聚合给定时间范围内的使用统计数据。

import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';

const oneDayAgo = Date.now() - 24 * 60 * 60 * 1000;
const now = Date.now();
const stats = await UsageStatsManager.queryAndAggregateUsageStats({
  beginTime: oneDayAgo,
  endTime: now
});

for (const [packageName, usageData] of Object.entries(stats)) {
  console.log(`${packageName}: ${usageData.totalTimeInForeground}ms`);
}

isUsageStatsPermissionGranted

检查使用统计数据权限是否已授权。

import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';

const { granted } = await UsageStatsManager.isUsageStatsPermissionGranted();
if (!granted) {
  await UsageStatsManager.openUsageStatsSettings();
}

openUsageStatsSettings

打开使用统计数据设置屏幕。该操作将打开使用统计数据设置屏幕,允许用户授权使用统计数据权限。即使权限已授权,该操作也会始终打开设置屏幕。

import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';

await UsageStatsManager.openUsageStatsSettings();

queryAllPackages

设备上查询所有安装的包。需要 QUERY_ALL_PACKAGES 权限。

import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';

const { packages } = await UsageStatsManager.queryAllPackages();
packages.forEach(pkg => {
  console.log(`${pkg.appName} (${pkg.packageName}): v${pkg.versionName}`);
});

完整参考