hyzp_ybqx-Commit129:使用android_power_manager_0.1.6添加请求忽略电池优化功能,解决一些明显问题,基本可用
This commit is contained in:
@@ -33,6 +33,8 @@
|
|||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 -->
|
<!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 -->
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<!-- 请求忽略电池优化,用于后台定时提醒等 -->
|
||||||
|
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name="com.flutter.hyzp_ybqx.MyApplication"
|
android:name="com.flutter.hyzp_ybqx.MyApplication"
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:android_power_manager/android_power_manager.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:fluttertoast/fluttertoast.dart';
|
import 'package:fluttertoast/fluttertoast.dart';
|
||||||
import 'package:intl/date_symbol_data_local.dart';
|
import 'package:intl/date_symbol_data_local.dart';
|
||||||
|
|
||||||
//import 'file_manager.dart';
|
//import 'file_manager.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
@@ -42,10 +44,35 @@ checkPermission() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
requestIgnoreBatteryOptimizations() async {
|
||||||
|
bool success = await AndroidPowerManager.requestIgnoreBatteryOptimizations();
|
||||||
|
if (success) {
|
||||||
|
String isIgnoringBatteryOptimizations = await _checkBatteryOptimizations();
|
||||||
|
// setState(() {
|
||||||
|
// _isIgnoringBatteryOptimizations = isIgnoringBatteryOptimizations;
|
||||||
|
// });
|
||||||
|
print("isIgnoringBatteryOptimizations = $isIgnoringBatteryOptimizations");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<String> _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
|
//整个Flutter App的入口03
|
||||||
// Permission check,适用于 permission_handler: ^5.x.x
|
// Permission check,适用于 permission_handler: ^5.x.x
|
||||||
Future<bool> getPermission() async {
|
Future<bool> getPermission() async {
|
||||||
if (Platform.isAndroid) {
|
if (Platform.isAndroid) {
|
||||||
|
await requestIgnoreBatteryOptimizations(); // 请求忽略电池优化
|
||||||
|
|
||||||
// You can request multiple permissions at once.
|
// You can request multiple permissions at once.
|
||||||
Map<Permission, PermissionStatus> permissionStatuses = await [
|
Map<Permission, PermissionStatus> permissionStatuses = await [
|
||||||
Permission.storage,
|
Permission.storage,
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ dependencies:
|
|||||||
camera: ^0.5.8+11
|
camera: ^0.5.8+11
|
||||||
audioplayers: ^0.16.2
|
audioplayers: ^0.16.2
|
||||||
flutter_background_service: ^0.0.1+21
|
flutter_background_service: ^0.0.1+21
|
||||||
|
android_power_manager: ^0.1.6
|
||||||
|
|
||||||
encrypt: ^4.1.0
|
encrypt: ^4.1.0
|
||||||
device_info: ^1.0.0
|
device_info: ^1.0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user