yumi-flutter/lib/shared/tools/sc_permission_utils.dart
2026-04-29 14:52:09 +08:00

43 lines
1.2 KiB
Dart

import 'dart:io';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:permission_handler/permission_handler.dart';
class SCPermissionUtils {
static Future<bool> checkMicrophonePermission() async {
// 检查当前权限状态
var status = await Permission.microphone.status;
if (status.isDenied) {
// 请求权限(弹出系统弹窗)
status = await Permission.microphone.request();
}
return status.isGranted;
}
static Future<bool> checkPhotosPermission() async {
// 检查当前权限状态
var status = await Permission.photos.status;
if (status.isDenied) {
// 请求权限(弹出系统弹窗)
status = await Permission.photos.request();
}
return status.isGranted;
}
static Future<bool> checkAudioPermission() async {
if (!Platform.isAndroid) {
return true;
}
final androidInfo = await DeviceInfoPlugin().androidInfo;
final permission =
androidInfo.version.sdkInt >= 33
? Permission.audio
: Permission.storage;
var status = await permission.status;
if (status.isDenied || status.isRestricted || status.isLimited) {
status = await permission.request();
}
return status.isGranted;
}
}