checkAndRequestPermission method
Future<void>
checkAndRequestPermission(
- PermissionRequestData requestData, {
- void onPermissionGranted()?,
- void onPermissionDenied()?,
- void onPermissionPermanentDenied()?,
Implementation
Future<void> checkAndRequestPermission(
PermissionRequestData requestData, {
void Function()? onPermissionGranted,
void Function()? onPermissionDenied,
void Function()? onPermissionPermanentDenied,
}
) async {
final target = Permission.byValue(requestData.permissionValue);
final status = await target.status;
if (status.isGranted) {
onPermissionGranted?.call();
} else if (status.isDenied) {
final reqRes = await target.request();
if (reqRes.isGranted) {
onPermissionGranted?.call();
} else if (reqRes.isPermanentlyDenied) {
onPermissionPermanentDenied?.call();
} else {
onPermissionDenied?.call();
}
} else if (status.isPermanentlyDenied) {
onPermissionPermanentDenied?.call();
}
}