public static async Task <bool> PedirPermiso(Permissions.BasePermission Permiso, string Mensaje = "Permita el acceso") { return(await Device.InvokeOnMainThreadAsync(async() => { PermissionStatus status = await Permiso.CheckStatusAsync(); if (status != PermissionStatus.Granted) { if (IsDisabled(Permiso)) { await Acr.UserDialogs.UserDialogs.Instance.AlertAsync(Mensaje, "Atención."); } await Permiso.RequestAsync(); status = await Permiso.CheckStatusAsync(); } return (status == PermissionStatus.Granted); })); }
public async Task RequirePermission(Func <Task> task, Permissions.BasePermission permission, Func <Task> taskToNotPermission = null) { var status = await PermissionService.CheckAndRequestPermissionAsync(permission); if (status != Xamarin.Essentials.PermissionStatus.Granted) { //await UserDialogService.AlertAsync("Não é possive continuar, permissão não concedida"); if (taskToNotPermission != null) { await taskToNotPermission.Invoke(); } return; } await task.Invoke(); }
public PermissionItem(string title, Permissions.BasePermission permission) { Title = title; Permission = permission; Status = PermissionStatus.Unknown; }
public static async Task <Xamarin.Essentials.PermissionStatus> GetPermissionStatus(Permissions.BasePermission Permiso) { return(await Device.InvokeOnMainThreadAsync(async() => { PermissionStatus status = await Permiso.CheckStatusAsync(); return status; })); }
public static bool IsDisabled(Permissions.BasePermission permission) => permission.ShouldShowRationale();
public static async Task <bool> TenemosPermiso(Permissions.BasePermission Permiso) => (await GetPermissionStatus(Permiso) == PermissionStatus.Granted);