如何在 MAUI Blazor Hybrid 上使用相机二维码阅读器

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

有人找到从 Blazor MAUI 混合应用程序扫描二维码的可行解决方案吗?

我已经找到了许多用于“普通”Blazor 的库(例如 BigIslandBarcoding、ZXing.Net),但没有任何具体内容可以从 razor 页面(在 BlazorWebView 中)在移动设备(iOS 和 Android)上执行此操作。

我正在寻找一个简单的操作来通过单击按钮打开相机读取器/扫描仪,但找不到类似的东西。

qr-code maui maui-blazor
2个回答
2
投票

我今天玩了这个,因为我正在将 Blazor 服务器应用程序移植到 MAUI Blazor 并遇到了同样的问题。

编辑: 您不需要下面的这部分

我设法使用这个项目修复它 https://github.com/MackinnonBuck/MauiBlazorPermissionsExample 为了获得设备特定的权限,然后我安装了

编辑:当您尝试发布为 Release 时,此库出现问题

https://github.com/Redth/ZXing.Net.Mobile

所以就用这个吧

https://github.com/g0dpain/ZXing.Net.Mobile

它是为 Xamarin 设计的,但在 MAUI 中运行得很好。你需要做的就是在Android项目MainActivity.cs文件中添加这段代码

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
{
    Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}



protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);

    Xamarin.Essentials.Platform.Init(Application);

    ZXing.Mobile.MobileBarcodeScanner.Initialize(Application);

}

在你的 Razor 页面中你可以这样称呼它

async Task ScanBarcode()
{

    var scanner = new ZXing.Mobile.MobileBarcodeScanner();
   
    var result = await scanner.Scan();

    barcode = result.Text;


}

我在 Android 模拟器和真实设备上尝试过,效果很好。


0
投票

非常感谢exe.bat。我已经做到了,它在我的 Android MAUI Blazor 应用程序上运行得很好。

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