【问题标题】:Zxing barcode scanner continious scanning problemZxing条码扫描器连续扫描问题
【发布时间】:2020-06-22 19:44:13
【问题描述】:

我在 Xamarin 表单中使用 Zxing 条码扫描器和 Rg 弹出页面。整个想法是,当相机捕捉到条形码时,它会显示一个弹出窗口。问题是我想等待用户在再次扫描之前关闭弹出窗口。现在,如果我将相机对准条形码,它会一直显示多个警报。

public async void Scan(Result result)
        {
            //random linq to get product
            if (product != null)
            {
                await PopupNavigation.PushAsync(new DisplayDialog(product));
            }          
        }

用户关闭窗口的方法

private async void Button_OnClicked(object sender, EventArgs e)
        {
            await PopupNavigation.RemovePageAsync(this);
        }

我尝试使用标志来停止扫描并将 isScanning 或 isAnalyzing 设置为 false,但它不起作用。有任何想法吗?谢谢!

【问题讨论】:

  • 您使用的是哪个版本?我正在使用IsScanning 标志关闭扫描仪,它会正确停止。
  • 我使用的是 2.4.1
  • 尽快更新到最新的测试版。一切都在那里工作。 Beta 版已经存在了相当长的一段时间,我认为它们不会很快以稳定的形式发布它们。自最新的稳定版本以来,已经实施了许多修复。

标签: forms xamarin popup zxing


【解决方案1】:

使用布尔控制流

bool popup = false;

public async void Scan(Result result)
    {
        if (popup) return;

        //random linq to get product
        if (product != null)
        {
            popup = true;
            await PopupNavigation.PushAsync(new DisplayDialog(product));
        }          
    }

然后,每当您的弹出窗口被关闭时,将 popup 标志重置为 false

【讨论】:

  • “似乎不起作用”不是一个有用的描述。代码很简单——你有没有在调试器中单步执行它来验证它正在做它应该做的事情?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
相关资源
最近更新 更多