askPermission method
- Permissions permission
Asks(request) for permission and return true if granted, otherwise returns false. If the permission is permanently denied, This will open the settings
Implementation
static Future<bool> askPermission(Permissions permission) async {
int result = await getPermissionResult(permission);
var permissionName = _getEquivalentPermissionName(permission);
if (result == 0) {
// Code for deny (false)
await Permission.requestPermissions([permissionName]);
result = await getPermissionResult(permission);
return result == 1;
} else if (result == -1) {
// Code for notAgain (false)
await Permission.requestPermissions([permissionName]);
result = await getPermissionResult(permission);
if (result == 1) return true;
await Permission.openSettings();
result = await getPermissionResult(permission);
return result == 1;
} else {
return true;
}
}