Passer au contenu

@capgo/capacitor-Android-usagestatsmanager

Access Android Utilisation Statistiques to monitor Application Utilisation, screen time, and Utilisateur behavior Analyse with system-level data.

The Capacitor Android Utilisation Stats Manager plugin exposes Android’s UsageStatsManager SDK to Capacitor applications, enabling access to detailed Application Utilisation Statistiques and Appareil Utilisation data. This plugin allows developers to track Application Utilisation patterns, screen time, and Utilisateur behavior Analyse on Android Appareils.

Usage statistics

Access Android UsageStatsManager SDK data 📱

App monitoring

Track individual Application Utilisation time and frequency 🕐

Permission management

Handle Utilisation stats permissions seamlessly 🛡️

Package information

Query installed package details and metadata 📦

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

Add these 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" />
  • queryAndAggregateUsageStats(options) - Retrieve detailed usage statistics for installed apps
  • isUsageStatsPermissionGranted() - Check if usage stats permission is granted
  • openUsageStatsSettings() - Open system settings for usage stats permission
  • queryAllPackages() - Get information about all installed 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
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);

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.

  • Application Utilisation time and frequency
  • First and last time used
  • Total time in foreground
  • Launch count
  • Package name and Version
  • Installation time
  • Application labels and icons
  • System vs Utilisateur apps
  • 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
  • Minimum Android Version: API level 21 (Android 5.0)
  • Advanced Fonctionnalités: API level 29+ (Android 10+) for enhanced Statistiques
  • Package queries: API level 30+ (Android 11+) requires QUERY_ALL_PACKAGES
  • Utilisation stats permission is sensitive and requires Utilisateur consent
  • Consider Utilisateur privacy when collecting Utilisation data
  • Implement proper data handling and storage practices
  • Follow Google Play policies for Utilisation data collection

Vérifier the Terminé Documentation for detailed implementation guides and advanced Utilisation patterns.