41 lines
1.6 KiB
Dart
41 lines
1.6 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:disable_battery_optimization/disable_battery_optimization.dart';
|
|
import 'package:pilipala/utils/storage.dart';
|
|
|
|
void DisableBatteryOpt() async {
|
|
if (!Platform.isAndroid) {
|
|
return;
|
|
}
|
|
// 本地缓存中读取 是否禁用了电池优化 默认未禁用
|
|
bool isDisableBatteryOptLocal =
|
|
GStrorage.localCache.get('isDisableBatteryOptLocal', defaultValue: false);
|
|
if (!isDisableBatteryOptLocal) {
|
|
final isBatteryOptimizationDisabled =
|
|
await DisableBatteryOptimization.isBatteryOptimizationDisabled;
|
|
if (isBatteryOptimizationDisabled == false) {
|
|
final hasDisabled = await DisableBatteryOptimization
|
|
.showDisableBatteryOptimizationSettings();
|
|
// 设置为已禁用
|
|
GStrorage.localCache.put('isDisableBatteryOptLocal', hasDisabled == true);
|
|
}
|
|
}
|
|
|
|
bool isManufacturerBatteryOptimizationDisabled = GStrorage.localCache
|
|
.get('isManufacturerBatteryOptimizationDisabled', defaultValue: false);
|
|
if (!isManufacturerBatteryOptimizationDisabled) {
|
|
final isManBatteryOptimizationDisabled = await DisableBatteryOptimization
|
|
.isManufacturerBatteryOptimizationDisabled;
|
|
if (isManBatteryOptimizationDisabled == false) {
|
|
final hasDisabled = await DisableBatteryOptimization
|
|
.showDisableManufacturerBatteryOptimizationSettings(
|
|
"当前设备可能有额外的电池优化",
|
|
"按照步骤操作以禁用电池优化,以保证应用在后台正常运行",
|
|
);
|
|
// 设置为已禁用
|
|
GStrorage.localCache.put(
|
|
'isManufacturerBatteryOptimizationDisabled', hasDisabled == true);
|
|
}
|
|
}
|
|
}
|