Passer au contenu

Commencer

Terminal window
npm install @capgo/capacitor-android-usagestatsmanager
npx cap sync

Add the required permissions to your android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
import { AndroidUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
// Check if permission is granted
const permissionResult = await AndroidUsageStatsManager.isUsageStatsPermissionGranted();
if (!permissionResult.granted) {
// Open settings to grant permission
await AndroidUsageStatsManager.openUsageStatsSettings();
return;
}
// Query usage statistics for the last 7 days
const statsOptions = {
intervalType: 0, // INTERVAL_DAILY
startTime: Date.now() - (7 * 24 * 60 * 60 * 1000), // 7 days ago
endTime: Date.now()
};
const usageStats = await AndroidUsageStatsManager.queryAndAggregateUsageStats(statsOptions);
console.log('Usage statistics:', usageStats);
// Get all installed packages
const packages = await AndroidUsageStatsManager.queryAllPackages();
console.log('Installed packages:', packages);
isUsageStatsPermissionGranted() => Promise<{ granted: boolean }>

Vérifier if the PACKAGE_USAGE_STATS permission is granted.

Returns: Promise<{ granted: boolean }>

openUsageStatsSettings() => Promise<void>

Open the system Paramètres page for granting Utilisation stats permission.

queryAndAggregateUsageStats(options: UsageStatsOptions) => Promise<UsageStatsResult>

Query detailed Utilisation Statistiques for installed apps.

ParamType
optionsUsageStatsOptions

Returns: Promise<UsageStatsResult>

queryAllPackages() => Promise<PackagesResult>

Get Information À propos all installed packages on the Appareil.

Returns: Promise<PackagesResult>

PropTypeDescription
intervalTypenumberInterval type (0=DAILY, 1=WEEKLY, 2=MONTHLY, etc.)
startTimenumberStart time in milliseconds
endTimenumberEnd time in milliseconds

Contains Utilisation Statistiques data for each Application:

  • Application Utilisation time and frequency
  • First and last time used
  • Total time in foreground
  • Launch count

Contains Information À propos installed packages:

  • Package name and Version
  • Installation time
  • Application labels and icons
  • System vs Utilisateur apps

The plugin requires special permissions that cannot be granted through normal runtime permission requests:

  1. PACKAGE_USAGE_STATS: Allows access to Utilisation Statistiques
  2. QUERY_ALL_PACKAGES: Required for package Information (Android 11+)

Users must manually grant these permissions through system settings. Use openUsageStatsSettings() to direct users to the appropriate settings page.

  • Always Vérifier permission status before querying Utilisation Statistiques
  • Handle permission denial gracefully with Utilisateur-friendly messages
  • Consider Utilisateur privacy when collecting Utilisation data
  • Implement proper data handling and storage practices
  • Follow Google Play policies for Utilisation data collection
  • Digital wellbeing apps: Monitor screen time and Application Utilisation
  • Parental controls: Track children’s Appareil Utilisation
  • Productivity apps: Analyze work patterns and focus time
  • Analyse: Understand Utilisateur behavior and Application engagement