getAllPermissions function
Future<bool>
getAllPermissions(
- List<
Permission> permissions, - String? text, {
- bool showAlert = true,
- Function? alert,
- GestureTapCallback? cancelTap,
必须获取通过全部权限 You must obtain all permissions
Implementation
Future<bool> getAllPermissions(List<Permission> permissions, String? text,
{bool showAlert = true,
Function? alert,
GestureTapCallback? cancelTap}) async {
if (!isMobile) return false;
final Map<Permission, PermissionStatus> status = await permissions.request();
permissions = <Permission>[];
status.forEach((Permission key, PermissionStatus value) {
if (!value.isGranted) permissions.add(key);
});
if (permissions.isNotEmpty) {
if (showAlert) {
if (alert != null) {
alert.call();
} else {
showAlertConfirmCancel(
text: '该服务需要开启$text授权',
confirmTap: () async {
final bool state = await openAppSettings();
if (!state) showAlertMessage(text: '无法打开设置,请手动前往设置开启权限');
},
cancelTap: cancelTap);
}
}
return false;
}
return true;
}