checkPermission static method
Implementation
static Future<bool> checkPermission() async {
if (kIsWeb) {
final permission = await Location().hasPermission();
if (permission == PermissionStatus.granted ||
permission == PermissionStatus.grantedLimited) {
return true;
} else {
return false;
}
}
if (Platform.isIOS) {
final status = await gl.Geolocator.requestPermission();
if (status == gl.LocationPermission.always ||
status == gl.LocationPermission.whileInUse) {
return true;
} else if (status == gl.LocationPermission.denied) {
return false;
} else if (status == gl.LocationPermission.deniedForever) {
openAppSettings();
return false;
} else if (status == gl.LocationPermission.unableToDetermine) {
return requestPermission();
} else {
return false;
}
} else if (Platform.isAndroid) {
final status = await Permission.location.status;
if (status.isGranted) {
return true;
} else if (status.isDenied) {
return false;
} else if (status.isPermanentlyDenied) {
openAppSettings();
return false;
} else if (!status.isRestricted && !status.isLimited) {
return requestPermission();
} else {
return false;
}
} else {
throw UnimplementedError();
}
}