我正在为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。我不禁想知道这是否与它有关。
答案 0 :(得分:0)
我通过测试每一行代码解决了这个问题。删除PhotoSize = Plugin.Media.Abstractions.PhotoSize.Custom
后,我可以拍摄所需数量的照片。我确实为插件使用了Github信息。
我很想知道我做错了什么导致错误。我建议我误解了有关Github的教程。