Flutter二维码扫描器:扫描后相机连续扫描

问题描述 投票:0回答:1

我在 Flutter 中使用 mobile_scanner 包实现了 QR 码扫描仪。在我的应用程序中,如果我扫描二维码,它会将我导航到结果屏幕。我在使用 mobile_scanner 包的 Flutter 应用程序中遇到二维码扫描功能问题。成功扫描二维码后,相机会继续无限期扫描,从而导致多次导航至结果屏幕。

代码:

MobileScanner(
        controller: MobileScannerController(
          detectionSpeed: DetectionSpeed.noDuplicates,
        ),
        onDetect: (barcodes) {
          Navigator.of(context).push(
            MaterialPageRoute(
              builder: (context) {
                return ResultScreen();
              },
            ),
          );
          print("QR Code Found!");
        },
      )

预期的行为是,一旦成功检测到并处理 QR 码,相机应停止扫描 QR 码。随后在摄像头前出现二维码不应触发到结果屏幕的额外导航。

flutter mobile qr-code
1个回答
0
投票

我建议启动这样的控制器:

  final controller = MobileScannerController(detectionSpeed: DetectionSpeed.noDuplicates);

然后你有两个选择: 调用 dispose() 或 stop()

因此,一旦您将用户推到新屏幕上,就停止控制器。如果用户返回调用 start()

您面临的问题是由于未处理控制器而引起的

© www.soinside.com 2019 - 2024. All rights reserved.