App的有些权限是必须有才能正常运行的,例如存储或者相机,所以在权限被拒绝后就要禁止用户继续使用例子如下
//调用姿势
await DCM_applyPermission_new(PermissionGroup.camera, true);
await DCM_applyPermission_new(PermissionGroup.photos, false);
//方法
// ignore: non_constant_identifier_names
Future<bool> DCM_applyPermission_new(
PermissionGroup pg, bool notGrantedExitApp) async {
PermissionStatus permission =
await PermissionHandler().checkPermissionStatus(pg);
if (permission == PermissionStatus.granted) {
return true;
} else {
await PermissionHandler().requestPermissions([pg]);
//再次确认
permission = await PermissionHandler().checkPermissionStatus(pg);
if (permission == PermissionStatus.granted) {
return true;
} else {
if (notGrantedExitApp) {
DCM_Control.toast_Front("权限申请拒绝:" + DCM.EnumToString(pg) + ",程序无法正常运行");
await Future.delayed(Duration(seconds: 3));
exit(0);
} else {
DCM_Control.toast_Front("权限申请拒绝:" + DCM.EnumToString(pg));
return false;
}
}
}
}