要解决Xamarin.Forms不允许访问相册图像的权限问题,您可以按照以下步骤进行操作:
protected override void OnCreate(Bundle savedInstanceState)
{
// ...
ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.ReadExternalStorage }, 1);
// ...
}
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Permission[] grantResults)
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
using Xamarin.Essentials;
// ...
public async Task CheckAndRequestPermissionAsync()
{
var status = await Permissions.CheckStatusAsync();
if (status != PermissionStatus.Granted)
{
status = await Permissions.RequestAsync();
}
return status == PermissionStatus.Granted;
}
private async void OpenImagePicker()
{
bool hasPermission = await CheckAndRequestPermissionAsync();
if (hasPermission)
{
// 打开相册图像选择器的代码
}
else
{
// 没有权限的处理代码
}
}
通过按照上述步骤进行操作,您应该能够解决Xamarin.Forms不允许访问相册图像的权限问题。