android - ZXing 与 Google Play 服务愿景

标签 android google-play-services qr-code zxing huawei-mobile-services

我需要添加一项功能以在我的应用程序中捕获 QR 码。我使用了 Google Play 服务,我可以读取二维码,但我有一些问题:

  • 它与所有设备兼容吗?我可以使用 barcodeDetector.isOperational()检查它是否兼容,但这不是我的选择。我需要确保它适用于所有设备。
  • 我可以从 Play Store 获得一些条形码阅读器,使用所有设备表面但在较暗的背景中显示相机。在它的中间,一个较轻的窗口被一个框架包围着。该窗口具有读取代码的敏感性,而不是表面的任何地方。是否可以在 Google Play 服务中做到这一点?看来ZXING可以做到,如网址:https://www.studytutorial.in/android-bar-code-qr-code-scanner-tutorial-using-zxing-scanner-library

  • enter image description here
    问候

    最佳答案

    第一个问题:

    Is it compatible with all devices?


    如果要集成Google ML Kit Barcode scanning进入您的应用程序,

    “ML Kit uses the com.google.android.gms namespace for libraries that depend on Google Play Services.”


    但由于某些手机或其他设备未安装 GMS,如果您希望您的应用在所有设备上运行,请集成 Huawei Mobile Services (HMS) .扫描套件可集成到 Android和iOS系统 .
    Zxing 是一个常见的开源 SDK。但是,它只实现了扫描二维码的基本操作,不支持强光、弯曲、变形等更复杂的扫描环境。目前主流做法是基于Zxing对源码进行优化。请引用这篇 xda 文章:Comparison between Huawei Scan Kit and Zxing
  • Scan Kit EMUI 版本相关特性
  • 所需EMUI版本(华为/荣耀手机平板):EMUI 3.0及以上
  • 所需安卓版本(非华为手机):安卓4.4或更高版本
  • 扫描套件提供 two SDKs .您可以根据需要选择SDK。

  • 扫描套件 SDK-Plus
  • 识别能力-华为手机:优秀(使用HMS Core(APK)中的增强识别模型)
  • 识别能力-非华为手机:优秀(使用SDK提供的增强识别模型)
  • SDK大小:≈3.3MB
  • 适用于:对SDK大小不敏感,希望在所有设备型号上都有最佳体验的开发者

  • 扫描套件 SDK
  • 识别能力-华为手机:优秀(使用HMS Core(APK)中的增强识别模型)
  • 识别能力-非华为手机:良好(使用SDK提供的通用识别模型)
  • SDK大小:≈0.8MB
  • 适用于:对SDK大小敏感的开发者

  • 第二个问题:

    About Scanning UI


    Scan Kit can be called in four ways ,您可以根据需要从中选择。默认 View 的扫描 UI 由 Scan Kit 提供。自定义 View 模式、位图模式和多处理器模式的扫描UI由您自己定制。
    如果您想在您的应用程序中快速构建强大的条码扫描功能,建议使用默认 View 或自定义 View 。无论哪种方式,Scan Kit 都可以直接控制相机,以最大限度地发挥变焦控制、自动曝光和自动对焦等功能。所需的工作量更少,但扫描体验得到了显着改善。自定义 View 与默认 View 的不同之处在于您可以自定义扫描 UI。
    请引用此演示:https://github.com/HMS-Core/hms-scan-demo

    关于android - ZXing 与 Google Play 服务愿景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63513330/

    相关文章:

    google-play-services - 对手 getIconImageUri() 返回 null

    javascript - 尝试为 QRcode Javascript 生成一个随机数

    android - 我的应用程序中的谷歌地图应用程序在该位置上有一个标签

    unity3d - 您上传的 APK 或 Android App Bundle 使用尚未生效的证书签名

    java - 有没有办法在图像从外部存储中删除后立即获取图像的 uri?

    memory-management - Google Play 服务在我的应用程序中消耗更多 RAM

    php - 生成条形码时,有字符数限制吗?

    javascript - 如何获取二维码以打开 JavaScript 书签

    android - OnTouchEvent getPointerCount() 在释放屏幕触摸后总是检测到 1 个指针

    android - Android 布局 XML 中 AdMob 的正确 xmlns url 是什么