使用DisplayActionSheet后,条形码扫描仪将不会扫描

时间:2019-10-08 17:37:54

标签: c# xamarin.forms zxing

使用DisplayActionSheet后,我的Zxing ScannerView无法扫描。

我正在使用Xamarin Forms编写条形码扫描器应用程序,它使用的是zxing.net.mobile库。

我希望允许用户选择是否要扫描另一个项目(这还会增加页面之间的延迟),因此我抛出了DisplayActionSheet。弹出窗口起作用,然后单击“是”,它会创建新页面,并且一切看起来不错,但扫描仪无法扫描...

我删除了DisplayActionSheet,并在扫描第一个设备后立即打开下一页。这通常会导致程序扫描两个设备的相同条形码,尽管它确实会扫描...

private void scanner_OnScanResult(ZXing.Result result)
{
    Device.BeginInvokeOnMainThread(async () =>
    {
        using (StreamWriter sw = File.AppendText(file))
        {
            sw.WriteLine(result.Text + Environment.NewLine);
        }
        string action = await DisplayActionSheet("Scan Hard Drive?", null, null, "Yes", "No");
        if (action == "Yes")
        {
            await Navigation.PushAsync(new HDDScanner());
        }
        else
        {
            using (StreamWriter sw = File.AppendText(HDDfile))
            {
                sw.WriteLine(" " + Environment.NewLine);
            }
            await Navigation.PopAsync();
        }
    });
}

0 个答案:

没有答案