hasPermission method
Checks whether a camera is available and accessible.
Implementation
@override
Future<bool?> hasPermission() async {
bool? status;
try {
final cameras = await availableCameras();
if (cameras.isNotEmpty) {
await CameraController(cameras[0], ResolutionPreset.max).initialize();
status = true;
} else {
status = null;
}
return status;
} catch (error) {
if (error is CameraException) {
switch (error.code) {
// User denied the camera access request
case 'CameraAccessDenied':
// User has previously denied the camera access request
case 'CameraAccessDeniedWithoutPrompt':
status = false;
break;
case 'CameraAccessRestricted': // Parental Control
default:
status = null;
break;
}
} else {
status = null;
}
return status;
}
}