我在Xamarin.Forms项目中遇到了Xamarin.Essentials的问题,在该问题中,未按预期显示“读取”的权限对话框。代码似乎执行了某些部分,但跳过了权限请求对话框。
代码示例:
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来请求权限,然后使用MediaPicker来选择照片。然而,我遇到了一个问题,权限对话框没有按预期显示。代码似乎执行了第1、4和7部分,没有显示任何与权限相关的对话框。
1条答案
按热度按时间vzgqcmou1#
如果您的项目面向Android 13及更高版本,存储权限现在已根据您要访问视频、音频还是图像而更改。
对于照片,您需要图像权限,即
READ_MEDIA_IMAGES
更多信息可在此处找到
另外,请务必阅读https://developer.android.com/reference/android/Manifest.permission#READ_MEDIA_IMAGES