public static async Task AskForRequiredPermission()
{
try
{
var canRequestInstallPackage = true;
if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
canRequestInstallPackage = Platform.CurrentActivity.PackageManager.CanRequestPackageInstalls();
if (!canRequestInstallPackage)
{
Platform.CurrentActivity.StartActivity(new Intent(
Android.Provider.Settings.ActionManageUnknownAppSources,
Android.Net.Uri.Parse("package:" + Android.App.Application.Context.PackageName)));
}
var writeStatus = await Permissions.CheckStatusAsync<Permissions.StorageWrite>();
if (writeStatus != PermissionStatus.Granted)
{
**await Permissions.RequestAsync<Permissions.StorageWrite>();**
}
writeStatus = await Permissions.CheckStatusAsync<Permissions.StorageWrite>();
var readStatus = await Permissions.CheckStatusAsync<Permissions.StorageRead>();
if (readStatus != PermissionStatus.Granted)
{
**await Permissions.RequestAsync<Permissions.StorageRead>();**
}
readStatus = await Permissions.CheckStatusAsync<Permissions.StorageRead>();
if (writeStatus == PermissionStatus.Granted && readStatus == PermissionStatus.Granted && canRequestInstallPackage)
return true;
}
catch (Exception ex)
{
//Something went wrong
}
return false;
}
public static async Task AskForRequiredPermission()
{
try
{
var canRequestInstallPackage = true;
if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
canRequestInstallPackage = Platform.CurrentActivity.PackageManager.CanRequestPackageInstalls();