在 Xamarin.Forms 中使用 Xamarin.Essentials 时不出现权限对话框

问题描述 投票:0回答:1

我在 Xamarin.Forms 项目中遇到 Xamarin.Essentials 问题,其中 StorageRead 的权限对话框未按预期显示。该代码似乎执行了某些部分,但跳过了权限请求对话框。

代码示例:

await DisplayAlert("1", "1", "1");
var status = await Permissions.CheckStatusAsync<Permissions.StorageRead>();
if (status == PermissionStatus.Granted)
{
    await DisplayAlert("2", "2", "2");
    var result = await MediaPicker.PickPhotoAsync();
    if (result != null)
    {
        await DisplayAlert("3", "3", "3");
        // Additional code...
    }
}
else
{
    await DisplayAlert("4", "4", "4");
    // Request permission and await the result
    var permissionResult = await Permissions.RequestAsync<Permissions.StorageRead>();

    // Check if the permission was granted after the request
    if (permissionResult == PermissionStatus.Granted)
    {
        await DisplayAlert("5", "5", "5");
        var result = await MediaPicker.PickPhotoAsync();
        if (result != null)
        {
            await DisplayAlert("6", "6", "6");
            // Additional code...
        }
    }
    else
    {
        await DisplayAlert("7", "7", "7");
    }
}

我有一个 Xamarin.Forms 项目,其中使用 Xamarin.Essentials 请求 StorageRead 权限,然后使用 MediaPicker 选取照片。但是,我面临一个问题,即权限对话框未按预期显示。该代码似乎执行了第 1、4 和 7 部分,但没有显示任何与权限相关的对话框。

c# android xamarin xamarin.forms
1个回答
0
投票

如果您的项目面向 Android 13 及更高版本,存储权限现在已根据您是否要访问视频、音频或图像进行更改。

对于照片,您需要图像许可,即

READ_MEDIA_IMAGES

更多信息可以在这里找到

另外,请务必阅读此内容https://developer.android.com/reference/android/Manifest.permission#READ_MEDIA_IMAGES

© www.soinside.com 2019 - 2024. All rights reserved.