gpt4 book ai didi

android - CrossMedia.Current.TakePhotoAsync 不适用于三星 S6

转载 作者:行者123 更新时间:2023-11-29 01:20:35 26 4
gpt4 key购买 nike

在我的 Xamarin Forms 应用程序中,我使用媒体插件拍照。我使用的代码在 Moto G 3rd Gen 上运行良好,但是当我在三星 S6 上运行相同的代码时,返回的文件始终为 null,并且相机未启动。

我已经升级到插件的预发布版本(2.4.0),但我仍然得到相同的结果。

这是我的拍照方法:-

    public async Task TakePhoto()
{
var result = await CrossMedia.Current.Initialize();

if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
{
_analyticsService.TagEvent("AndroidCameraService : Camera Not Available");
}
else
{
var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
{
DefaultCamera = CameraDevice.Rear,
Directory = "Test",
Name = "Original.jpg",
PhotoSize = PhotoSize.Full,
SaveToAlbum = false
});

if (file == null)
{
_analyticsService.TagEvent("AndroidCameraService : File Null");
}
else
{
var rotationNeeded = GetNeededRotation(file.Path);

ResizeImage(file.Path, file.Path.Replace("Original", "Resized"), 320, 240);

var byteArray = File.ReadAllBytes(file.Path.Replace("Original", "Resized"));

PhotoAsBase64String = Convert.ToBase64String(byteArray);

CleanUpFiles(file.Path);
}
}
}

我不确定为什么它在三星 S6 上运行时无法在其他设备上运行。

有没有人有什么想法?

最佳答案

我认为这是与 Marshmallow 更新相关的问题。现在,我必须从我的应用程序中明确请求相机和文件系统访问权限;该插件将无法正确执行。一旦我授予应用程序权限,插件就会按预期工作。这并不理想,因为插件应该为我们做这件事,但这就是我让它工作的方式。

关于android - CrossMedia.Current.TakePhotoAsync 不适用于三星 S6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37023370/

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