Capacitor plugin to access battery optimization settings on Android.
npm install @capawesome-team/capacitor-android-battery-optimizationCapacitor plugin for Android to manage battery optimization settings, request exemptions, and enhance app performance under Doze and App Standby modes.
| Plugin Version | Capacitor Version | Status |
| -------------- | ----------------- | -------------- |
| 8.x.x | >=8.x.x | Active support |
``bash`
npm install @capawesome-team/capacitor-android-battery-optimization
npx cap sync
This API requires the following permissions be added to your AndroidManifest.xml before the application tag if you want to request direct exemption from Power Management features:
`xml`
⚠️ Attention: Google Play policies prohibit apps from requesting direct exemption from Power Management features in Android 6.0+ (Doze and App Standby) unless the core function of the app is adversely affected. Source
No configuration required for this plugin.
A working example can be found here: robingenz/capacitor-plugin-demo
| Android |
| -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
`typescript
import { Capacitor } from '@capacitor/core';
import { BatteryOptimization } from '@capawesome-team/capacitor-android-battery-optimization';
const isBatteryOptimizationEnabled = async () => {
if (Capacitor.getPlatform() !== 'android') {
return false;
}
const { enabled } = await BatteryOptimization.isBatteryOptimizationEnabled();
return enabled;
};
const openBatteryOptimizationSettings = async () => {
if (Capacitor.getPlatform() !== 'android') {
return;
}
await BatteryOptimization.openBatteryOptimizationSettings();
};
const requestIgnoreBatteryOptimization = async () => {
if (Capacitor.getPlatform() !== 'android') {
return;
}
await BatteryOptimization.requestIgnoreBatteryOptimization();
};
`
* isBatteryOptimizationEnabled()
* openBatteryOptimizationSettings()
* requestIgnoreBatteryOptimization()
* Interfaces
`typescript`
isBatteryOptimizationEnabled() => Promise
Returns whether or not battery optimization is enabled.
Only available on Android.
Returns: Promise<IsBatteryOptimizationEnabledResult>
Since: 0.0.1
--------------------
`typescript`
openBatteryOptimizationSettings() => Promise
Opens the battery optimization settings page.
Only available on Android.
Since: 0.0.1
--------------------
`typescript`
requestIgnoreBatteryOptimization() => Promise
Requests the battery optimization ignore permission.
This method needs the REQUEST_IGNORE_BATTERY_OPTIMIZATIONS manifest permission.
Use this method only if your app meets an acceptable use case (see Google Play Policy).
Only available on Android.
Since: 0.0.1
--------------------
#### IsBatteryOptimizationEnabledResult
| Prop | Type | Description | Since |
| ------------- | -------------------- | ----------------------------------------------- | ----- |
| enabled` | boolean | Whether or not battery optimization is enabled. | 0.0.1 |
See CHANGELOG.md.
See LICENSE.