ZXing与Google Play服务愿景

问题描述

我需要添加一个功能来捕获我的应用程序中的QR码。我已经使用过Google Play服务,可以读取QR码,但有一些疑问:

  • 它是否与所有设备兼容?我可以使用barcodeDetector.isOperational()来检查它是否兼容,但这不是我的选择。我需要确保它能在所有设备上正常工作。
  • 我可以从Play商店中获得一些条形码阅读器,它们在设备的所有表面上但在较暗的背景下显示相机。在其中部,显示了一个较轻的窗口,周围有一个框架。该窗口具有读取代码的敏感性,而不是表面上的任何地方。是否可以在Google Play服务中执行此操作?如网址https://www.studytutorial.in/android-bar-code-qr-code-scanner-tutorial-using-zxing-scanner-library
  • 所示,ZXING似乎可以做到这一点

enter image description here

致谢

解决方法

  1. 如果Androd设备未安装Play服务(例如某些华为设备),则Google Play服务愿景将无法正常运行。 ZXing是独立的条形码扫描库,您可以运行所有设备。但是,根据我的实验,Google Vision比ZXing更好(检测速度更快,并且在模糊代码上表现更好)。
  2. Google Vision和ZXing都可以检测到整个表面,此演示也许可以https://github.com/googlesamples/android-vision
,

第一个问题:

它与所有设备兼容吗?

如果您想将Google ML Kit Barcode scanning集成到您的应用中,

“ ML Kit将com.google.android.gms名称空间用于 取决于Google Play服务。”

但是,由于某些电话或其他设备未安装GMS,因此,如果您希望您的应用在所有设备上运行,请集成Huawei Mobile Services (HMS)。扫描工具包可以集成到 Android和iOS系统中。

Zxing是常见的开源SDK。但是,它仅实现扫描QR码的基本操作,不支持更复杂的扫描环境,例如强光,弯曲和变形。当前,主流做法是基于Zxing优化源代码。请参阅以下xda文章:Comparison between Huawei Scan Kit and Zxing

  1. EMUI版本相关的扫描套件功能
  • 所需的EMUI版本(华为/荣誉手机和平板电脑):EMUI 3.0或更高版本
  • 所需的Android版本(非华为手机):Android 4.4或更高版本
  1. 扫描工具包提供了two SDKs。您可以根据需要选择一个SDK。

Scan Kit SDK-Plus

  • 识别能力-华为手机:出色(在HMS Core(APK)中使用了增强的识别模型)
  • 识别能力-非华为手机:出色(使用SDK提供的增强识别模型)
  • SDK大小:≈3.3MB
  • 适用于:对SDK大小不敏感并希望在所有设备型号上都拥有最佳体验的开发人员

扫描套件SDK

  • 识别能力-华为手机:出色(在HMS Core(APK)中使用了增强的识别模型)
  • 识别能力-非华为手机:很好(使用SDK提供的通用识别模型)
  • SDK大小:≈0.8MB
  • 适用于:对SDK大小敏感的开发人员

第二个问题:

关于扫描用户界面

Scan Kit can be called in four ways,您可以根据需要选择。扫描工具包提供默认视图的扫描UI。您可以自定义自定义视图模式,位图模式和多处理器模式的扫描UI。

如果要在应用程序中快速构建强大的条形码扫描功能,建议使用默认视图或自定义视图。无论哪种方式,Scan Kit都可以直接控制相机以最大化功能,例如缩放控制,自动曝光和自动对焦。需要的工作量更少,但是扫描体验得到了显着改善。自定义视图与默认视图的不同之处在于,您可以自定义扫描用户界面。

请参阅此演示:https://github.com/HMS-Core/hms-scan-demo

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...