当“取消”按钮处于;MobileBarCodeScanner();单击,应用程序退出并崩溃!(Xamarin.iOS)

当“取消”按钮处于;MobileBarCodeScanner();单击,应用程序退出并崩溃!(Xamarin.iOS),xamarin,xamarin.ios,Xamarin,Xamarin.ios,我正在寻找一个解决方案,当点击“MobileBarcodeScanner”页面中的取消按钮时,应用程序存在并崩溃。我想处理这个问题,只是在单击“取消”按钮时返回到其他视图控制器 private async void CustomizedQrCodeScanner() { var scanner = MobileBarcodeScanner(); var result = await scanner.Scan(); if (resul

我正在寻找一个解决方案,当点击“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);
        }

很可能是因为存在空引用异常。 您正在检查
结果。文本
为空。但是当用户按Cancel时,
result
等于null,因此无法访问文本属性。
因此,只需在对
结果进行空检查之前对
结果进行空检查。Text
您的问题就应该得到解决

一种简单的方法是将“”用作shownn

var result = await scanner.Scan();
if (result?.Text != null)
{
    qrcodeFromLiveCamera = result.Text;
    Console.WriteLine("Scanned Barcode: " + result.Text);
    ShowMessage("QrCode Detected: ", result.Text);
}

上面也提出了很多好的建议,但最好的建议是创建一个“例外捕获点”。这会告诉您异常的类型和行。

当应用程序崩溃时,您会遇到什么异常!我没有得到任何例外,应用程序只是退出。是否有任何方法可以访问扫描页面中的“取消按钮”,并在单击时为其指定一个退出页面并加载另一个视图控制器?检查,使用自定义覆盖,只需将MobileBarcodeScanner.UseCustomOverlay属性设置为TrueMan谢谢您的帮助。我已经看到了这个链接,它一直告诉我“OnBackButtonPressed”找不到任何合适的方法来覆盖这个名称。这就是为什么我在这里问这个问题。我建议读这篇文章你是我的救世主:),非常感谢。我读了很多材料,到目前为止没有一本对我有帮助。但是现在,用你的“结果”检查条件。它工作正常,不是救世主!实际上,我在上传图片lol时也遇到了同样的问题,所以我只是想帮助别人。将此标记为已回答,以便其他面临相同问题的人可以找到它readily@Assegd^不知道你是否收到我的评论通知,因为我没有标记youHi Saamer,是的,你是对的,我没有收到任何通知,但我不知道为什么。无论如何,我已经把它标记为answer@Assegd已接受的答案有一个复选标记,您可以在此处看到: