flutter - 有没有办法在 Flutter 中扫描条形码?

基本上,我正在制作一个扫描二维码以连接到服务器的应用程序。然后,该应用程序将扫描产品的条形码并对商品拍照并将其发送到服务器。我的问题如下:

是否有 Flutter 插件扫描二维码和条码不输入冲突 image_picker ?

这是我目前发现的。

  • barcode_scan .在您添加对 camera 的依赖之前运行良好或 image_picker . Issue .
  • BarcodeScannerPlugin .一个 issue是打开的,和之前的插件有同样的问题。
  • flutter_qrcode_reader ,已弃用。显然,它 doesn't build .
  • flutterZebraEmdk是一个没有 README.md 的空项目。
  • flutter_qr_mobile_vision , 不支持条形码。 Issue .

感谢您提供的任何帮助。谢谢!


更新

barcode_scan 的问题已解决。我最终使用了这个,因为它比公认的答案更快,而且它的问题得到了相当快的解决。请注意,它在 iOS 上的行为是由 Apple 修改的,因此您可能会通过校验和数字或其他东西得到不同的结果。

最佳答案

我之前也遇到过类似的问题,按照你的方法搜索后,我没有找到很多。我决定最好的方法是自己编写一个插件......在这里为我的插件添加这么无耻的插件 =D,而不是让我从其他任何人使用它中受益。

你可以看到here .但是,我还没有时间记录它、广泛地测试它,或者在 Pub 上正确地发布它。所以你的里程可能会有所不同。但是,它应该可以在 android 4.4+(可能更低)和 Flutter 支持的 iOS 设备上运行。我也没有将它与相机插件一起测试,但我不明白为什么它会出现问题。

它采用了与大多数其他二维码插件不同的方法;它不是制作一个 android 或 iOS 窗口,进行扫描,然后返回 Flutter,而是使用 Flutter 的纹理渲染功能让相机直接渲染到 Flutter 中。

还有一些需要考虑的事情是,它使用 Google Mobile Vision SDK 以及随之而来的适用许可和功能(并且需要 Android 上最新版本的 Play Services);并且它目前只支持从条形码扫描中提取最基本的信息——我只需要提取原始文本,这就是我所做的一切。

要使用它,请将其添加到您的 pubspec.yaml:

dependencies:
  qr_mobile_vision: '^0.0.7'

并实现如下:

import 'package:qr_mobile_vision/QrCamera.dart';

...

new Container(
  constraints: new BoxConstraints.loose(
  new Size(cameraSize, cameraSize)),
  child: new QrCamera(
    qrCodeCallback: (code) {
      print(code);
    }
  ),
)

我确实计划最终完成文档/测试/等,但同时欢迎您尝试一下。如果您决定使用它并且需要它不支持的功能,我也许可以帮助实现它...但是欢迎和鼓励 PR!

更新:现在确实包括条形码支持。您可以在实例化 QrCamera 时传入您想要支持的 QR 码/条形码类型。它默认为 all,这需要更多处理,因此如果您使用某种类型,建议您将其传入。

https://stackoverflow.com/questions/49521283/

相关文章:

android - flutter : How can I add divider between

dart - Flutter BLoC 模式 - 如何在流事件后导航到另一个屏幕?

dart - 如何在 flutter 中实现推送通知

flutter - 如何在 AppBar 中用图像替换标题

dart - Flutter:在 StatelessWidget 中哪里添加监听器?

android - [Flutter]中如何打开PDF或word文档

dart - 在 Flutter 中设置环境变量

dart - Flutter:如何制作随机颜色生成器背景

android - Flutter 上的小部件的 onResume() 和 onPause()

android - 如何在 TextFormField 中显示/隐藏密码?