首页 > 解决方案 > PickPhotoAsync - 第一次不起作用

问题描述

在确认访问画廊中保存的照片的权限后,我第一次使用该应用程序时,pickphoto async 似乎什么也没做。 在此处输入图像描述

在我看来,问题在于它不等待用户授权。

为了正常工作,我必须多次单击照片的上传按钮。

我正在使用最新版本的库与 android 合作。

await CrossMedia.Current.Initialize();
if (!CrossMedia.Current.IsPickPhotoSupported)
{
    await DisplayAlert("Oops", "You Cannot pick an image", AppResources.Label_OK);
    return;
}
var file = await CrossMedia.Current.PickPhotoAsync(new PickMediaOptions
{
    PhotoSize = PhotoSize.MaxWidthHeight,
    MaxWidthHeight = 800,
    SaveMetaData = false
});

标签: xamarinxamarin.formsxamarin.androidxamarin.essentialsmontemagno-media.plugin

解决方案


我感谢回答我的人。我发现了错误:

错误代码:

 public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
{
    PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}

正确代码:

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Permission[] grantResults)
{
    Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}

推荐阅读