fix:增加视频日志下载时同时申请权限

This commit is contained in:
liyi 2025-02-28 11:52:53 +08:00
parent 681b96a478
commit 278e970931

View File

@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/main/lockDetail/videoLog/editVideoLog/editVideoLog_state.dart';
import 'package:star_lock/main/lockDetail/videoLog/videoLog/videoLog_entity.dart';
@ -190,7 +191,7 @@ class _EditVideoLogPageState extends State<EditVideoLogPage> {
'images/main/icon_lockDetail_monitoringDownloadVideo.png',
'下载'.tr,
Colors.white,
_onDownLoadClick,
_onDownLoadClickAndRequestPermission,
)
: SizedBox.shrink(),
state.isNavLocal.value == false
@ -207,6 +208,31 @@ class _EditVideoLogPageState extends State<EditVideoLogPage> {
);
}
Future<void> _onDownLoadClickAndRequestPermission() async {
//
final PermissionStatus status = await Permission.storage.status;
if (status.isGranted) {
//
await _onDownLoadClick();
} else if (status.isDenied || status.isRestricted) {
//
final PermissionStatus requestResult = await Permission.storage.request();
if (requestResult.isGranted) {
//
await _onDownLoadClick();
} else {
//
print('用户拒绝了存储权限');
}
} else if (status.isPermanentlyDenied) {
//
print('存储权限被永久拒绝,请前往设置页面开启');
openAppSettings();
}
}
Future<void> _onDownLoadClick() async {
if (state.selectVideoLogList.value.isNotEmpty) {
state.selectVideoLogList.value.forEach((element) {