Optimize Battery Fixed
A Flutter plugin for checking and managing battery optimization settings on Android devices. This is a fixed and optimized version of the original optimize_battery package, maintained for production use with enhanced stability and documentation.
π¦ Installation
From pub.flutter-io.cn (Recommended)
dependencies:
optimize_battery_fixed: ^1.0.0
From GitHub
dependencies:
optimize_battery_fixed:
git:
url: https://github.com/boughdiri-dorsaf/optimize_battery_fixed.git
ref: main
From Local Path
dependencies:
optimize_battery_fixed:
path: ./optimize_battery_fixed
π Features
- Battery Optimization Check: Check if app is ignoring battery optimization
- Settings Navigation: Open battery optimization settings
- Disable Dialog: Show battery optimization disable dialog
- Null Safety: Full null safety support
- Android V2 Embedding: Modern Android embedding support
π± Platform Support
Android
- Battery optimization status checking
- Settings navigation
- Disable optimization dialog
- Permission handling
iOS
- Not supported (battery optimization is iOS system feature)
π§ Usage
Check Battery Optimization Status
import 'package:optimize_battery_fixed/optimize_battery_fixed.dart';
// Check if app is ignoring battery optimization
OptimizeBattery.isIgnoringBatteryOptimizations().then((onValue) {
setState(() {
if (onValue) {
// App is ignoring battery optimization
print('App is ignoring battery optimization');
} else {
// App is under battery optimization
print('App is under battery optimization');
}
});
});
Open Battery Optimization Settings
// Take user to battery optimization settings
OptimizeBattery.openBatteryOptimizationSettings();
Show Disable Dialog
// Show battery optimization disable dialog
OptimizeBattery.stopOptimizingBatteryUsage();
This opens the battery optimization disable dialog.

π οΈ Setup
Android Setup
Add the permission in android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
Important Note: This permission uses the intent ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, which is not recommended unless it's an exemption case. Such as when the application's main functionality needs battery optimization to be disabled.
Read more here: https://developer.android.com/training/monitoring-device-state/doze-standby#exemption-cases
π API Reference
Methods
isIgnoringBatteryOptimizations()- Check if app is ignoring battery optimizationopenBatteryOptimizationSettings()- Open battery optimization settingsstopOptimizingBatteryUsage()- Show disable optimization dialog
Return Values
isIgnoringBatteryOptimizations()returnsFuture<bool>- Other methods return
Future<void>
π¨ Troubleshooting
Common Issues
- Permission Denied: Ensure the permission is added to AndroidManifest.xml
- Settings Not Opening: Check if the device supports battery optimization
- Dialog Not Showing: Verify the app has the required permission
Debug Information
// Check battery optimization status
bool isIgnoring = await OptimizeBattery.isIgnoringBatteryOptimizations();
print('Is ignoring battery optimization: $isIgnoring');
π€ Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Support
For support and questions:
- Create an issue in the GitHub repository
- Check the troubleshooting section above
- Review the API documentation
π Updates
This package is maintained and updated regularly. Check the CHANGELOG.md for version history and updates.
π Credit
This plugin is inspired from battery_optimization but with supporting Null safety and Android V2 embedding. This fixed version includes additional improvements and optimizations.
π Package Information
- Package Name:
optimize_battery_fixed - Version: 1.0.0
- Repository: GitHub
- pub.flutter-io.cn: optimize_battery_fixed
Note: This version is optimized for production use and includes all necessary fixes and improvements. It's a drop-in replacement for the original optimize_battery package with enhanced stability and documentation.