Skip to content

@capawesome-team/capacitor-android-battery-optimization

Capacitor plugin to access battery optimization settings on Android.

Installation

See Getting started with Insiders and follow the instructions to install the plugin.

After that, follow the platform-specific instructions in the section Android.

Android

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:

<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />

⚠️ 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

Configuration

No configuration required for this plugin.

Demo

A working example can be found here: robingenz/capacitor-plugin-demo

Android

Usage

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();
};

API

isBatteryOptimizationEnabled()

isBatteryOptimizationEnabled() => Promise<IsBatteryOptimizationEnabledResult>

Returns whether or not battery optimization is enabled.

Only available for Android.

Returns: Promise<IsBatteryOptimizationEnabledResult>

Since: 0.0.1


openBatteryOptimizationSettings()

openBatteryOptimizationSettings() => Promise<void>

Opens the battery optimization settings page.

Only available for Android.

Since: 0.0.1


requestIgnoreBatteryOptimization()

requestIgnoreBatteryOptimization() => Promise<void>

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 for Android.

Since: 0.0.1


Interfaces

IsBatteryOptimizationEnabledResult

Prop Type Description Since
enabled boolean Whether or not battery optimization is enabled. 0.0.1

Changelog

See CHANGELOG.md.

License

See LICENSE.