Android - 条码扫描,选项?志兴?
Posted
技术标签:
【中文标题】Android - 条码扫描,选项?志兴?【英文标题】:Android - Barcode Scanning, Options? Zxing? 【发布时间】:2011-02-06 03:54:44 【问题描述】:我想为 android 创建一个应用程序,它能够扫描条形码,获取条形码中包含的信息,然后能够以某种方式使用该信息。
我不知道如何创建条形码扫描仪,所以我去谷歌搜索,似乎 Zxing 是在应用程序中实现条形码扫描仪的最常用方法。
一些链接:
http://code.google.com/p/zxing/
http://awalkingcity.com/blog/2008/08/25/qr-codes-made-easy-in-android/
Using ZXing to create an android barcode scanning app
但是,我在 zxing 上找到的示例涉及必须提示用户去市场并安装 zxing 条形码扫描仪,以便我的应用可以在需要时调用条形码扫描仪,然后条形码扫描仪会将信息返回给我的应用程序。
虽然这对我来说是一个很好的起点,但我想知道是否还有其他选项可以让我在自己的应用程序中嵌入条形码扫描仪,而无需提示用户下载辅助应用程序?
【问题讨论】:
***.com/questions/2050263/…的可能重复 试试我的博客,可能会有所帮助。 mcondev.wordpress.com/2011/06/24/… 仅供参考 - code.google.com/p/zxing 已移至 github.com/zxing/zxing 我制作了条码生成和扫描条码的代码。您可以按照此步骤获取分步代码。 ***.com/a/58742737/11613683 【参考方案1】:这里是开发者。我认为您最终只想通过 Intent 进行集成。您可以免费获得改进、错误修复和特定于平台的解决方法。它的代码也少得多。但我知道您要求的是替代方案。
您可能想要删除 Barcode Scanner(其源代码在项目中的 android/ 中)并删除您不需要的所有内容。这意味着只留下com.google.zxing.client.android
和com.google.zxing.client.android.camera
包。核心解码在DecodeThread
,但是这些包中的其他代码实现了小回调舞蹈,它进行连续扫描并获得通常的扫描UI。
如果您嵌入代码,您需要遵守Apache License 的条款。
【讨论】:
@james-baca 您对我的回答的编辑基本上是故意破坏并且已被回滚。编写您自己的答案来宣传您的服务。 er,我指的是 Google Play 服务,这是一件很棒的事情。重点是在编辑中覆盖其他人的答案。 我制作了条码生成和扫描条码的代码。您可以按照此获取分步代码。 ***.com/a/58742737/11613683【参考方案2】:通过添加您自己的代码来下载和扩展 Zxing“条码扫描仪”应用程序。它在 Apache 2.0 许可下。
【讨论】:
所以本质上是拿 Zxing 源代码并重写它来做我想做的事? 这是我的建议。您可能只需包含现有源,调用它,然后很容易地捕获返回的条形码。我猜您根本不需要更改太多代码。【参考方案3】:Google Mobile Vision 已弃用,取而代之的是 ML Kit。 https://developers.google.com/ml-kit/vision/barcode-scanning 它在 android 和 ios 上都提供了 sdks,并且正在通过最新的谷歌技术得到积极的改进。 对于android,它提供可以捆绑模型的sdks,如果您想节省应用程序的大小,它还提供可以从Google play服务自动获取模型的SDK。
【讨论】:
【参考方案4】:查看包含条形码跟踪的新 Google Play Services 7.8 API:https://developers.google.com/vision/barcodes-overview
【讨论】:
我制作了条码生成和扫描条码的代码。您可以按照此获取分步代码。 ***.com/a/58742737/11613683【参考方案5】:我建议您通过 Intent 使用 Zxing 并重定向到 Android Market 页面 ("market://details?id=com.google.zxing.client.android"
),如果它不存在(捕获 ActivityNotFoundException
)。 Intent 非常适合此类应用间通信。
【讨论】:
是的,我知道我可以做到这一点,但我想要的是替代必须要求用户安装单独的应用程序来进行扫描【参考方案6】:我推荐使用谷歌条形码扫描。它反应灵敏。它被称为谷歌移动视觉。
Barcode Scanner API 实时检测条形码 方向。您还可以检测和解析多个条码 同时使用不同的格式。
https://developers.google.com/vision/
https://codelabs.developers.google.com/codelabs/bar-codes/#0
【讨论】:
Google Mobile Vision 已被弃用,取而代之的是 ML Kit。 developers.google.com/ml-kit/vision/barcode-scanning 它在 android 和 iOS 上都提供了 sdks,并且正在通过最新的 google 技术得到积极的改进。对于android,它提供可以捆绑模型的sdks,如果您想节省应用程序的大小,它还提供可以从Google play服务自动获取模型的SDK。【参考方案7】:我可以用这个:
repositories mavenCentral()
maven url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
compile 'com.google.zxing:core:3.2.1'
compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar'
compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'
我推荐使用 IntentIntegrator
IntentIntegrator integrator = new IntentIntegrator(getActivity());
integrator.forSupportFragment(this).initiateScan();
requestCode 回来了
IntentIntegrator.REQUEST_CODE
无需安装单独的扫描仪
【讨论】:
以上是关于Android - 条码扫描,选项?志兴?的主要内容,如果未能解决你的问题,请参考以下文章
工作日报 2022.4.19 PackageManagerService 扫描APK目录