Using this plugin you can: * check if battery optimization is enabled or disabled for your flutter app * launch request unrestrict dialog
This plugin does not cover "manufacturer battery optimizations" checks yet. Considering to add this feature in 2025.
reference
https://developer.android.com/topic/performance/background-optimization
how to use
bool? isEnabled;
Widget permissionButton() {
return TextButton(
onPressed: () async {
isEnabled = await AndroidBatteryOptimizations.isEnabled();
setState(() => isEnabled);
if (!isEnabled!) {
await AndroidBatteryOptimizations.showPermissionDialog();
// waiting a little for the setting to propagate
await Future.delayed(const Duration(seconds: 1));
if (mounted) {
isEnabled = await AndroidBatteryOptimizations.isEnabled();
setState(() => isEnabled);
}
}
},
child: Text('${isEnabled ?? "..."}'),
);
}