Xamarin Forms应用程序随机冻结?

问题描述 投票:0回答:1

我有Xamarin Forms应用程序,该应用程序使用自定义渲染器来实现相机API 2,并且在Android版本的应用程序上,如果有任何见解可以避免此类操作,他将冻结并无法工作,直到重新启动该应用程序为止

xamarin.forms xamarin.android freeze android-camera2
1个回答
0
投票

[如果要在Xamarin.Forms中实现照相并从相册中拾取图像,请执行以下操作:您可以使用nuget中的插件Xam.Plugin.Media。而且您不需要使用Custom Renderer并在特定平台上实现它。

用法

形式

takePhotoButton.Clicked += async (sender, args) =>
{
    await CrossMedia.Current.Initialize();

    if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
    {
        DisplayAlert("No Camera", ":( No camera available.", "OK");
        return;
    }

    var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
    {
        Directory = "Sample",
        Name = "test.jpg"
    });

    if (file == null)
        return;

    await DisplayAlert("File Location", file.Path, "OK");

    image.Source = ImageSource.FromStream(() =>
    {
        var stream = file.GetStream();
        return stream;
    }); 
};

有关可检查Docs的插件的详细信息和功能的表格,

© www.soinside.com 2019 - 2024. All rights reserved.