Flutter - 在 flutter 中扫描后关闭条码扫描器

Flutter - Close barcode scanner after scan in flutter

提问人:swapnil mane 提问时间:12/5/2022 更新时间:11/18/2023 访问量:904

问:

我正在使用此软件包扫描条形码。它工作正常,但是成功扫描后,我想关闭相机。我搜索了解决方案,但没有解决方案适用于我的情况。这是我的代码。

    try {
      FlutterBarcodeScanner.getBarcodeStreamReceiver(
              '#ff6666', 'Cancel', true, ScanMode.BARCODE)!
          .listen((data) {
        print(data);
       
      });
    } on PlatformException {
      // barcodeScanRes = 'Failed to get platform version.';
    }
  }
安卓 iOS Flutter 飞镖

评论

0赞 Sandeep 6/29/2023
你有解决方案吗?在连续扫描的情况下,扫描成功后如何停止。

答:

1赞 Nazarudin 12/6/2022 #1

您可以通过将此行添加到代码中来关闭扫描页面

if (barcodeScanRes != null){
   print(barcodeScanRes);
   // this will send your scan result to previous page
   // or you can navigate to other page after scan success
   Navigator.pop(context, barcodeScanRes); 
}
String barcodeScanRes; // put this variable in statefull widget
Future<void> scanQR() async {
  try {
    barcodeScanRes = await FlutterBarcodeScanner.scanBarcode(
        '#ff6666', 'Cancel', true, ScanMode.QR);
    // add this line to close scanner or naivigate to other page
    if (barcodeScanRes != null){
       print(barcodeScanRes);
       Navigator.pop(context, barcodeScanRes);
    }
  } on PlatformException {
    barcodeScanRes = 'Failed to get platform version.';
  }

  if (!mounted) return;
  setState(() {
    _scanBarcode = barcodeScanRes;
  });
}

或者,如果您想在扫描后暂停相机,则可以使用此软件包 https://pub.dev/packages/qr_code_scanner

评论

0赞 Sandeep 6/29/2023
这是单次扫描。问题针对“getBarcodeStreamReceiver”。我也在寻找答案。