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