53 lines
1.3 KiB
Dart
53 lines
1.3 KiB
Dart
import 'dart:io';
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
|
|
class PermissionUtil{
|
|
/// 安卓权限
|
|
static List<Permission> androidPermissions = <Permission>[
|
|
// 在这里添加需要的权限
|
|
Permission.storage
|
|
];
|
|
|
|
/// ios权限
|
|
static List<Permission> iosPermissions = <Permission>[
|
|
// 在这里添加需要的权限
|
|
Permission.storage
|
|
];
|
|
|
|
static Future<Map<Permission, PermissionStatus>> requestAll() async {
|
|
if (Platform.isIOS) {
|
|
return await iosPermissions.request();
|
|
}
|
|
return await androidPermissions.request();
|
|
}
|
|
|
|
static Future<Map<Permission, PermissionStatus>> request(
|
|
Permission permission) async {
|
|
final List<Permission> permissions = <Permission>[permission];
|
|
return await permissions.request();
|
|
}
|
|
|
|
static bool isDenied(Map<Permission, PermissionStatus> result) {
|
|
var isDenied = false;
|
|
result.forEach((key, value) {
|
|
if (value == PermissionStatus.denied) {
|
|
isDenied = true;
|
|
return;
|
|
}
|
|
});
|
|
return isDenied;
|
|
}
|
|
|
|
|
|
/// 检查权限
|
|
static Future<bool> checkGranted(Permission permission) async {
|
|
PermissionStatus storageStatus = await permission.status;
|
|
if (storageStatus == PermissionStatus.granted) {
|
|
//已授权
|
|
return true;
|
|
} else {
|
|
//拒绝授权
|
|
return false;
|
|
}
|
|
}
|
|
} |