diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 8ab1395..c132438 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -33,6 +33,8 @@ + + _checkBatteryOptimizations() async { + String isIgnoringBatteryOptimizations; + // Platform messages may fail, so we use a try/catch PlatformException. + try { + isIgnoringBatteryOptimizations = + '${await AndroidPowerManager.isIgnoringBatteryOptimizations}'; + } on PlatformException { + isIgnoringBatteryOptimizations = 'Failed to get platform version.'; + } + return isIgnoringBatteryOptimizations; +} + //整个Flutter App的入口03 // Permission check,适用于 permission_handler: ^5.x.x Future getPermission() async { if (Platform.isAndroid) { + await requestIgnoreBatteryOptimizations(); // 请求忽略电池优化 + // You can request multiple permissions at once. Map permissionStatuses = await [ Permission.storage, diff --git a/pubspec.yaml b/pubspec.yaml index 4066b53..2e317f1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -99,6 +99,7 @@ dependencies: camera: ^0.5.8+11 audioplayers: ^0.16.2 flutter_background_service: ^0.0.1+21 + android_power_manager: ^0.1.6 encrypt: ^4.1.0 device_info: ^1.0.0