拍摄第二张照片时,Xamarin Media插件崩溃

时间:2018-07-12 18:13:12

标签: c# xamarin plugins

我正在为Xamarin使用Plugin.Media(jamesmontemagno / MediaPlugin)插件,但是在接受图片时遇到问题。当我拍摄第二张照片时(第一张照片工作正常),然后单击以接受该图像,整个应用程序崩溃,并且没有关于错误的输出。我尝试捕获该错误,但找不到发生在哪里。我建议从Android清单中删除min SDK,但仍然会发生崩溃。

我尝试在Visual Studio中查看输出,但始终有所不同。我假设代码可以正常工作,因为它需要获取图像并将数据返回给我,显然,只有在尝试接受第二张图像时,它才会发生。

private string GetTimestamp(DateTime value)
    {
        string timestamp = value.ToString("yyyyMMddHHmmssfff");
        string filename = timestamp + ".jpg";
        return filename;
    }

public Command CaptureImage => new Command(TakePicture);            
    private async void TakePicture()
    {         
        await CrossMedia.Current.Initialize();           

        if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
        {
            //Some message
            return;
        }

        var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
        {
            Directory = "FoodSnap",
            Name = GetTimestamp(DateTime.Now) //Gets a unique file name,
            PhotoSize = Plugin.Media.Abstractions.PhotoSize.Custom,
            CustomPhotoSize = 50
        });

        if (file == null)
            return;

        FilePath = file.Path;       
    }

我完全不知道为什么会这样。当我用来拍摄图像的页面中的数据发生更改时,我也无法刷新ViewModel。我不禁想知道这是否与它有关。

1 个答案:

答案 0 :(得分:0)

我通过测试每一行代码解决了这个问题。删除PhotoSize = Plugin.Media.Abstractions.PhotoSize.Custom后,我可以拍摄所需数量的照片。我确实为插件使用了Github信息。

我很想知道我做错了什么导致错误。我建议我误解了有关Github的教程。