我正在使用Xamarin.Forms和MediaPlugin https://github.com/jamesmontemagno/MediaPlugin,下面是我的代码:
if (!CrossMedia.Current.IsPickPhotoSupported)
{
await DisplayAlert("Photos Not Supported", "Sorry! Permission not granted to photos.", "OK");
return;
}
MediaFile file = null;
if (await Permissions.RequestAsync<Permissions.Photos>() == Xamarin.Essentials.PermissionStatus.Granted)
{
file = await Plugin.Media.CrossMedia.Current.PickPhotoAsync(new Plugin.Media.Abstractions.PickMediaOptions
{
PhotoSize = Plugin.Media.Abstractions.PhotoSize.Medium,
});
}
if (file == null)
return;
var imageSource = ImageSource.FromStream(() =>
{
var stream = file.GetStream();
return stream;
});
PickImage.Source = imageSource;这给了我一个权限对话框,如下所示:

当我选择“选择照片...”然后选择我允许应用程序使用的照片,库再次出现,我可以选择任何我想要的照片,即使是我第一次没有选择的照片。
这是Select Photos...的预期行为吗?我是否可以删除Select Photos...选项?
发布于 2021-11-03 15:44:29
该包不再受约束,因此不能确定它是否按预期工作。
您应该迁移到Xamarin.Essentials MediaPicker。它会自动为您处理权限请求。
而且看起来你已经在使用Xamarin.Essentials了。
确保按照文档中详细说明的步骤进行操作。这意味着修改info.plist。
https://stackoverflow.com/questions/69827280
复制相似问题