от
Я ищу решение, когда нажата кнопка отмены на странице «MobileBarcodeScanner», приложение существует и вылетает. Я хочу решить эту проблему, просто чтобы вернуться к другим контроллерам представления, когда нажата кнопка «Отмена».
private async void CustomizedQrCodeScanner()
    {
        var scanner = MobileBarcodeScanner();
        var result = await scanner.Scan();
            if (result.Text != null)
            {
                qrcodeFromLiveCamera = result.Text;
                Console.WriteLine("Scanned Barcode: "   result.Text);
                ShowMessage("QrCode Detected: ", result.Text);
        }
             

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Скорее всего, это потому, что у вас есть исключение Null Reference. Вы проверяете, чтобы
result.Text
был нулевым. Но когда пользователь нажимает кнопку Отмена,
result
равно нулю, и поэтому он не может достичь свойства Text. Так что просто поместите нулевую проверку для
result
перед вашей нулевой проверкой для
result.Text
, и ваша проблема должна быть исправлена. Простой способ сделать это - использовать «Безопасную навигацию», как показано
var result = await scanner.Scan();
if (result?.Text != null)
{
    qrcodeFromLiveCamera = result.Text;
    Console.WriteLine("Scanned Barcode: "   result.Text);
    ShowMessage("QrCode Detected: ", result.Text);
}
Выше было также сделано много хороших предложений, но лучше всего было создать «точку исключения». Это сказал бы вам, что тип и линия вашего исключения.     
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...