首页 > 解决方案 > Xamarin MediaPlugin MediaFile null 但图像已写入路径

问题描述

我有一个奇怪的问题,下面的代码返回 null,但是如果我查看文件夹,图像 jpg 已保存到文件

    public partial class TaskPage : ContentPage
    {
    private async void TaskPageTaskAnswer_Clicked(object sender, EventArgs e)
    {
        MediaFile mediaFile = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions { PhotoSize = PhotoSize.MaxWidthHeight, MaxWidthHeight = 1024 });
    }

经过各种尝试,权限检查就是这个时刻

public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);
            CrossCurrentActivity.Current.Init(this, savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            Forms.Init(this, savedInstanceState);
            FormsMaterial.Init(this, savedInstanceState);
            Xamarin.FormsMaps.Init(this, savedInstanceState);

            LoadApplication(new App());
        }
        public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Permission[] grantResults)
        {
            Plugin.Permissions.PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
            Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

            base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }

此外,在请求权限后,我无法让权限插件返回。他们可能是相关的问题?我已遵循所有步骤,但似乎有关于设置的对比信息。有些地方说在android项目中有一个MainApplication.cs,但是这个示例没有那个?

标签: xamarin

解决方案


推荐阅读