android中zxing扫描条码没有声音
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中zxing扫描条码没有声音相关的知识,希望对你有一定的参考价值。
能够识别条码
public void handleDecode(Result rawResult, Bitmap barcode, float scaleFactor)
inactivityTimer.onActivity();
boolean fromLiveScan = barcode != null;
if (fromLiveScan)
//为什么没有声音呢
beepManager.playBeepSoundAndVibrate();
String result = rawResult.getText();
if (!TextUtils.isEmpty(result))
Intent intent = new Intent();
intent.putExtra("scan_result", rawResult.getText());
setResult(RESULT_OK, intent);
else
setResult(RESULT_CANCELED);
//不加finish有声音不跳转。
finish();
使用 zxing 进行条码扫描
【中文标题】使用 zxing 进行条码扫描【英文标题】:Barcode scanning using zxing 【发布时间】:2021-04-05 12:51:26 【问题描述】:<zxing:ZXingScannerView IsScanning="True" OnScanResult="OnScanResult"/>
我在 xaml 文件中有这个,但我想使用 mvvm,所以我在 viewmodel 中有 onscanresult 事件处理程序。我如何使用它而不是后面代码中的那个?
public void OnScanResult(ZXing.Result result)
Device.BeginInvokeOnMainThread(() =>
ScanResult = result.Text + " (type: " + result.BarcodeFormat + ")";
);
【问题讨论】:
使用 EventToCommand 行为,或者只是让事件处理程序调用您的 VM 方法。使用事件不一定会破坏 MVVM 【参考方案1】:如果您不想使用行为,只需创建一个新版本的 ContentPage
,它会创建一个事件来命令:
public class ZxingContentPage : ZXingScannerPage
public static readonly BindableProperty ScanResultCommandProperty =
BindableProperty.Create(
nameof(ScanResultCommand),
typeof(ICommand),
typeof(ZxingContentPage),
default(ICommand)
);
public ICommand ScanResultCommand
get return (ICommand)GetValue(ScanResultCommandProperty);
set SetValue(ScanResultCommandProperty, value);
public ZxingContentPage(MobileBarcodeScanningOptions options) : base(options)
OnScanResult += ZxingContentPage_OnScanResult;
private void ZxingContentPage_OnScanResult(ZXing.Result result)
if (ScanResultCommand?.CanExecute(result) == true)
ScanResultCommand.Execute(result);
然后像下面这样使用它:
<?xml version="1.0" encoding="utf-8" ?>
<views:ZxingContentPage
x:Class="NameSpace.Zxing.ZxingMobileScannerView"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:views="clr-namespace:QRST.Views.Generic"
IsScanning="True"
ScanResultCommand="Binding ZxingScanResultCommand" />
祝你好运
如有疑问,请随时回复。
【讨论】:
以上是关于android中zxing扫描条码没有声音的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android zxing 中扫描带有嵌入权重的条码
如何将 ZXing 库集成到 Android Studio 进行条码扫描?