gpt4 book ai didi

c# - 如何修复 Xamarin 中 TakePicture 的 SyncContext.cs 问题?

转载 作者:行者123 更新时间:2023-11-30 21:45:32 24 4
gpt4 key购买 nike

我正在使用 Cirrious.MvvmCross.Plugins.PictureChooser 在 Android Xamarin 平台上拍照。但是当我从图片屏幕取消而不是拍照时,显示如下所示 enter image description here

我的应用崩溃了。这是我的代码片段。

CameraViewmodel.cs
...
public System.Windows.Input.ICommand TakePictureCommand
{
get { return (_takePictureCommand = _takePictureCommand ?? new MvxCommand(() => TakePictureAsync())); }
}
...

private async void TakePictureAsync()
{
try
{
var stream = await _pictureChooserTask.TakePictureAsync(400, 95);
var memoryStream = new MemoryStream();
await stream.CopyToAsync(memoryStream);
...
//Add to view model
CameraImageViewModel imageViewModel = new CameraImageViewModel(image, this);
RaisePropertyChanged(() => HasPhotoBeenTaken);
RaisePropertyChanged(() => CommentHintText);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}

有什么办法可以解决这个问题吗?

最佳答案

它之所以失败,是因为您的 async void 方法抛出了异常。您需要找出异常到底是什么并解决根本问题。您可以通过在 throw new Exception 行放置断点来找出异常是什么。

要防止 Visual Studio 弹出此对话框,请在调试器设置下启用“仅我的代码”。

关于c# - 如何修复 Xamarin 中 TakePicture 的 SyncContext.cs 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40054651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com