feat: disable Battery Optimization
This commit is contained in:
@ -16,6 +16,7 @@ import 'package:pilipala/pages/search/index.dart';
|
|||||||
import 'package:pilipala/pages/video/detail/index.dart';
|
import 'package:pilipala/pages/video/detail/index.dart';
|
||||||
import 'package:pilipala/router/app_pages.dart';
|
import 'package:pilipala/router/app_pages.dart';
|
||||||
import 'package:pilipala/pages/main/view.dart';
|
import 'package:pilipala/pages/main/view.dart';
|
||||||
|
import 'package:pilipala/services/disable_battery_opt.dart';
|
||||||
import 'package:pilipala/services/service_locator.dart';
|
import 'package:pilipala/services/service_locator.dart';
|
||||||
import 'package:pilipala/utils/app_scheme.dart';
|
import 'package:pilipala/utils/app_scheme.dart';
|
||||||
import 'package:pilipala/utils/data.dart';
|
import 'package:pilipala/utils/data.dart';
|
||||||
@ -71,6 +72,7 @@ void main() async {
|
|||||||
));
|
));
|
||||||
Data.init();
|
Data.init();
|
||||||
PiliSchame.init();
|
PiliSchame.init();
|
||||||
|
DisableBatteryOpt();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
40
lib/services/disable_battery_opt.dart
Normal file
40
lib/services/disable_battery_opt.dart
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -170,6 +170,10 @@ class LocalCacheKey {
|
|||||||
// 代理host port
|
// 代理host port
|
||||||
systemProxyHost = 'systemProxyHost',
|
systemProxyHost = 'systemProxyHost',
|
||||||
systemProxyPort = 'systemProxyPort';
|
systemProxyPort = 'systemProxyPort';
|
||||||
|
|
||||||
|
static const String isDisableBatteryOptLocal = 'isDisableBatteryOptLocal',
|
||||||
|
isManufacturerBatteryOptimizationDisabled =
|
||||||
|
'isManufacturerBatteryOptimizationDisabled';
|
||||||
}
|
}
|
||||||
|
|
||||||
class VideoBoxKey {
|
class VideoBoxKey {
|
||||||
|
@ -393,6 +393,14 @@ packages:
|
|||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.0"
|
version: "2.4.0"
|
||||||
|
disable_battery_optimization:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: disable_battery_optimization
|
||||||
|
sha256: "6b2ba802f984af141faf1b6b5fb956d5ef01f9cd555597c35b9cc335a03185ba"
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.1"
|
||||||
dismissible_page:
|
dismissible_page:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -140,6 +140,8 @@ dependencies:
|
|||||||
catcher_2: ^1.1.0
|
catcher_2: ^1.1.0
|
||||||
logger: ^2.0.2+1
|
logger: ^2.0.2+1
|
||||||
path: 1.8.3
|
path: 1.8.3
|
||||||
|
# 电池优化
|
||||||
|
disable_battery_optimization: ^1.1.1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
Reference in New Issue
Block a user