public bool IsGranted(CrossPermission permission) { if (Build.VERSION.SdkInt < BuildVersionCodes.M) { return(true); } return(CheckSelfPermission(permission)); }
private string[] GetAndroidPermission(CrossPermission permission) { switch (permission) { case CrossPermission.Location: return(new string[] { Manifest.Permission.AccessFineLocation }); default: return(new string[] { string.Empty }); } }
private bool CheckSelfPermission(CrossPermission permission) { foreach (var item in GetAndroidPermission(permission)) { var status = Activity.CheckSelfPermission(item); if (status == Permission.Denied) { return(false); } } return(true); }
private void RequestPermissions(CrossPermission permission) { SetPermissionsServiceResult(); Activity.RequestPermissions(GetAndroidPermission(permission), (int)permission); }
public Task <bool> RequestPermission(CrossPermission permission) { RequestPermissions(permission); return(tcs.Task); }