Сканер штрих-кода не будет сканировать после использования DisplayActionSheet - PullRequest
2 голосов
/ 08 октября 2019

Мой Zxing ScannerView не будет сканировать после использования DisplayActionSheet.

Я пишу приложение для сканирования штрих-кодов в Xamarin Forms, оно использует библиотеку zxing.net.mobile.

Iхотел бы позволить пользователю выбирать, есть ли другой элемент для сканирования (также добавляет задержку между страницами), поэтому я выбрасываю 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();
        }
    });
}
...