Skip to content

Cap-go/capacitor-android-usagestatsmanager

@capgo/capacitor-android-usagestatsmanager

Capgo - Instant updates for capacitor

Description

Exposes the Android's UsageStatsManager SDK to Capacitor

Usage

Requires the following permissions in your AndroidManifest.xml:

<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"
    tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
    tools:ignore="QueryAllPackagesPermission" />

Install

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

API

queryAndAggregateUsageStats(...)

queryAndAggregateUsageStats(options: UsageStatsOptions) => Promise<Record<string, UsageStats>>

Queries and aggregates usage stats for the given options.

Param Type Description
options UsageStatsOptions - The options for the query.

Returns: Promise<Record<string, UsageStats>>


isUsageStatsPermissionGranted()

isUsageStatsPermissionGranted() => Promise<UsageStatsPermissionResult>

Checks if the usage stats permission is granted.

Returns: Promise<UsageStatsPermissionResult>


openUsageStatsSettings()

openUsageStatsSettings() => Promise<void>

Open the usage stats settings screen. This will open the usage stats settings screen, which allows the user to grant the usage stats permission. This will always open the settings screen, even if the permission is already granted.


queryAllPackages()

queryAllPackages() => Promise<{ packages: PackageInfo[]; }>

Queries all installed packages on the device. Requires the QUERY_ALL_PACKAGES permission.

Returns: Promise<{ packages: PackageInfo[]; }>

Since: 1.2.0


Interfaces

UsageStats

Prop Type Description
firstTimeStamp number The first timestamp of the usage stats.
lastTimeStamp number The last timestamp of the usage stats.
lastTimeForegroundServiceUsed number Only available on Android Q (API level 29) and above. Will be undefined on lower Android versions.
lastTimeUsed number The last time the app was used.
lastTimeVisible number Only available on Android Q (API level 29) and above. Will be undefined on lower Android versions.
packageName string The name of the package.
totalForegroundServiceUsed number Only available on Android Q (API level 29) and above. Will be undefined on lower Android versions.
totalTimeInForeground number The total time the app was in the foreground.
totalTimeVisible number Only available on Android Q (API level 29) and above. Will be undefined on lower Android versions.

UsageStatsOptions

Prop Type Description
beginTime number The inclusive beginning of the range of stats to include in the results. Defined in terms of "Unix time"
endTime number The exclusive end of the range of stats to include in the results. Defined in terms of "Unix time"

UsageStatsPermissionResult

Prop Type Description
granted boolean Whether the usage stats permission is granted.

PackageInfo

Represents basic information about an installed package.

Prop Type
packageName string
appName string
versionName string
versionCode number
firstInstallTime number
lastUpdateTime number

Type Aliases

Record

Construct a type with a set of properties K of type T

{ [P in K]: T; }

About

Capacitor plugin to get Android app usage stats natively

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors 3

  •  
  •  
  •