Android – 条形码扫描,选项? 斑马线?

我想创建一个Android应用程序,它将能够扫描条形码,获取条形码中包含的信息,然后能够以某种方式使用该信息。

我不知道如何创建条形码扫描仪,所以我去谷歌搜索,似乎Zxing是在应用程序中实现条形码扫描仪最常用的方式。

一些链接:


http://code.google.com/p/zxing/

http://awalkingcity.com/blog/2008/08/25/qr-codes-made-easy-in-android/

使用ZXing创建一个Android条码扫描应用程序


然而,我在zxing上find的样本涉及必须提示用户进入市场并安装zxing条形码扫描仪,以便我的应用程序可以在需要时调用条形码扫描器,然后条形码扫描器将信息返回到我的应用程序。

虽然这对我来说是一个很好的起点,但我想知道是否还有其他选项可以让我在我自己的应用程序中嵌入条形码扫描器,而不必提示用户下载辅助应用程序?

开发者在这里 我想你最终还是希望通过Intent进行集成。 您可以免费获得改进,错误修复和特定于平台的解决方法。 它的代码也少得多。 但我知道你要求另一种选择。

您可能想要删除Barcode Scanner(其源代码在android /项目中)并删除您不需要的所有内容。 这意味着只留下com.google.zxing.client.androidcom.google.zxing.client.android.camera包。 核心解码在DecodeThread ,但这些包中的其他代码实现了连续扫描的小回调舞,并获得了通常的扫描UI。

如果嵌入代码,则需要遵循Apache许可证的条款 。

通过添加您自己的代码,下载并扩展Zxing“条码扫描器”应用程序。 它是在Apache 2.0许可下。

查看包含条形码跟踪的新版Google Play Services 7.8 API: https : //developers.google.com/vision/barcodes-overview

我建议您通过意图使用Zxing并重定向到Android Market页面( "market://details?id=com.google.zxing.client.android" ),如果它不存在(捕获ActivityNotFoundException )。 意图很适合像这样的应用程序间通信。

我有这个工作:

 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 

无需安装单独的扫描仪

我建议使用谷歌条码扫描。 它非常敏感。 它被称为谷歌移动视觉。

条形码扫描仪API可以任何方向实时检测条形码。 您还可以同时检测和解析多种不同格式的条形码。

https://developers.google.com/vision/

https://codelabs.developers.google.com/codelabs/bar-codes/#0