兼容 IOS 端
This commit is contained in:
@@ -17,6 +17,24 @@ class PermissionService {
|
||||
return permissions.toList().request();
|
||||
}
|
||||
|
||||
/// 仅对尚未授予的权限发起系统授权弹窗,已授予则直接返回当前状态。
|
||||
static Future<Map<Permission, PermissionStatus>> requestMissing(
|
||||
Iterable<Permission> permissions,
|
||||
) async {
|
||||
final result = <Permission, PermissionStatus>{};
|
||||
for (final permission in permissions) {
|
||||
final current = await permission.status;
|
||||
if (current.isGranted ||
|
||||
current.isLimited ||
|
||||
current.isPermanentlyDenied) {
|
||||
result[permission] = current;
|
||||
continue;
|
||||
}
|
||||
result[permission] = await permission.request();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
static Future<bool> ensure(
|
||||
Permission permission, {
|
||||
bool openSettingsWhenPermanentlyDenied = true,
|
||||
|
||||
Reference in New Issue
Block a user