JavaScript bindings for tauri-plugin-android-battery-optimization. Manage Android battery optimization settings and request unrestricted background usage.
npm install tauri-plugin-android-battery-optimization-api> This plugin only works on Tauri v2 for Android.
Tauri plugin for managing Android battery optimization settings. Request unrestricted background usage to ensure timely notifications and background task execution.
Android's Doze mode and battery optimization can delay background tasks and notifications. This plugin allows you to:
- Check if your app is subject to battery optimization
- Request exemption via the system dialog (unrestricted background usage)
- Open the battery optimization settings page for manual configuration
``bash`
cargo add tauri-plugin-android-battery-optimization
Install using your preferred JavaScript package manager:
`bash`
pnpm add tauri-plugin-android-battery-optimization-apior
npm install tauri-plugin-android-battery-optimization-apior
yarn add tauri-plugin-android-battery-optimization-api
src-tauri/src/lib.rs
`rust`
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_android_battery_optimization::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
src-tauri/capabilities/default.json
`json`
{
"permissions": ["android-battery-optimization:default"]
}
`typescript
import {
checkBatteryOptimizationStatus,
requestBatteryOptimizationExemption,
openBatterySettings,
} from 'tauri-plugin-android-battery-optimization-api';
// Check if the app is subject to battery optimization
const status = await checkBatteryOptimizationStatus();
if (status.isOptimized) {
console.log('App is subject to battery optimization');
// Request exemption (shows system dialog)
await requestBatteryOptimizationExemption();
}
// Or open the battery settings page for manual configuration
await openBatterySettings();
`
Check the current battery optimization status.
Returns: Promise
`typescript`
interface BatteryStatus {
// true if the app is subject to battery optimization (Doze mode restrictions)
isOptimized: boolean;
// true if the app has unrestricted background access
isIgnoringOptimizations: boolean;
}
Request exemption from battery optimization. Shows a system dialog asking the user to allow unrestricted background usage.
Returns: Promise
Open the system battery optimization settings page. Allows users to manually configure battery optimization for all apps.
Returns: Promise
The plugin automatically adds the required permission to your Android manifest:
`xml`
- Minimum Android SDK: 21 (Android 5.0)
- Target Android SDK: 34 (Android 14)
- Tauri: v2
> Note: Battery optimization (Doze mode) was introduced in Android 6.0 (API 23). On older versions, isOptimized will always return false.
Show a banner prompting users to enable unrestricted background usage for timely notifications:
`typescript
import {
checkBatteryOptimizationStatus,
requestBatteryOptimizationExemption,
} from 'tauri-plugin-android-battery-optimization-api';
const status = await checkBatteryOptimizationStatus();
if (status.isOptimized) {
// Show a UI banner
showBanner({
message: 'Enable unrestricted background usage for timely notifications',
onPress: async () => {
await requestBatteryOptimizationExemption();
// Re-check status after user interaction
const newStatus = await checkBatteryOptimizationStatus();
if (!newStatus.isOptimized) {
hideBanner();
}
},
});
}
``
MIT License - see LICENSE for details.