【问题标题】:Take Photo in Xamarin Android with MvvmCross使用 MvvmCross 在 Xamarin Android 中拍照
【发布时间】:2017-02-13 17:53:49
【问题描述】:

我正在开发 Xamarin Android 项目,我想用 MvvmCross 实现拍照。

这是我的代码:

public class PhotoService:IPhotoService
{
    private const int MaxPixelDimension = 1280;
    private const int DefaultJpegQuality = 90;

    private Stream imageStream;

    public Stream ImageStream
    {
        get { return imageStream; }
        set { imageStream = value; }
    }

    public void GetPhoto()
    {
        var task = Mvx.Resolve<IMvxPictureChooserTask>();

        task.TakePicture(
        MaxPixelDimension,
        DefaultJpegQuality,
        SavePicture, null);
    }

    private void SavePicture(Stream stream)
    {
        ImageStream = stream;
    }

}

但在:

task.TakePicture(
        MaxPixelDimension,
        DefaultJpegQuality,
        SavePicture,
        null);

我有错误:

System.Reflection.TargetInvocationException:调用的目标已抛出异常。

更新

在调用堆栈中我有:

Android.Content.Intent..ctor 中的 0x0,位于 /Users/builder/data/lanes/3511/501e63ce/source/monodroid/src/Mono.Android/platforms/android-24/src/generated/Android.Content .Intent.cs:1275,6 C# MvvmCross.Plugins.PictureChooser.Droid.MvxPictureChooserTask.TakePicture C#中的 0x12
App.Services.PhotoService.PhotoService.GetPhoto 中的 0x3A 在 C:\app\App.Services\PhotoService\PhotoService.cs:38,4 C#
App.ViewModels.ViewModels.MainViewModel.TakePhoto 中的 0x7 在 C:\app\App.ViewModels\ViewModels\MainViewModel.cs:49,4 C#

【问题讨论】:

  • 您有更多信息吗?例如堆栈跟踪。也许是内部异常?
  • @Cheesebaron 问题已更新
  • 这似乎不是整个堆栈跟踪。
  • @Cheesebaron 如何获得?

标签: c# xamarin mvvm xamarin.android mvvmcross


【解决方案1】:

您可以使用 nuget 中提供的媒体插件的替代解决方案

https://www.nuget.org/packages/Xam.Plugin.Media/

您可以使用依赖服务从 android 项目中调用 takePictureAsync 方法。使用此库,您可以指定文件名和文件夹路径来存储图像。该库还可以使用takeVideoAsync 方法拍摄视频。

【讨论】:

    【解决方案2】:

    我认为您需要将 MVVMCross.Pugin.PictureChooser 包添加到您的核心平台特定项目中。

    【讨论】:

    • 我只有安卓项目。我将此插件添加到 Android(核心)和我的 android 类库中的 PhotoService
    猜你喜欢
    • 2019-03-03
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多