askPermission method

Future<bool> askPermission (
  1. 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;
  }
}