Usage statistics
Access Android UsageStatsManager SDK data 📱
The Capacitor Android Usage Stats Manager plugin exposes Android’s UsageStatsManager SDK to Capacitor applications, enabling access to detailed app usage statistics and device usage data. This plugin allows developers to track app usage patterns, screen time, and user behavior analytics on Android devices.
Usage statistics
Access Android UsageStatsManager SDK data 📱
App monitoring
Track individual app usage time and frequency 🕐
Permission management
Handle usage stats permissions seamlessly 🛡️
Package information
Query installed package details and metadata 📦
npm install @capgo/capacitor-android-usagestatsmanagernpx 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 appsisUsageStatsPermissionGranted()
- Check if usage stats permission is grantedopenUsageStatsSettings()
- Open system settings for usage stats permissionqueryAllPackages()
- Get information about all installed packagesimport { AndroidUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
// Check if permission is grantedconst permissionResult = await AndroidUsageStatsManager.isUsageStatsPermissionGranted();if (!permissionResult.granted) { // Open settings to grant permission await AndroidUsageStatsManager.openUsageStatsSettings(); return;}
// Query usage statisticsconst 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 packagesconst packages = await AndroidUsageStatsManager.queryAllPackages();console.log('Installed packages:', packages);
The plugin requires special permissions that cannot be granted through normal runtime permission requests:
Users must manually grant these permissions through system settings. Use openUsageStatsSettings()
to direct users to the appropriate settings page.
Check the complete documentation for detailed implementation guides and advanced usage patterns.