import 'dart:io'; import 'package:device_info_plus/device_info_plus.dart'; import 'package:permission_handler/permission_handler.dart'; class SCPermissionUtils { static Future checkMicrophonePermission() async { // 检查当前权限状态 var status = await Permission.microphone.status; if (status.isDenied) { // 请求权限(弹出系统弹窗) status = await Permission.microphone.request(); } return status.isGranted; } static Future checkPhotosPermission() async { // 检查当前权限状态 var status = await Permission.photos.status; if (status.isDenied) { // 请求权限(弹出系统弹窗) status = await Permission.photos.request(); } return status.isGranted; } static Future 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; } }