1

我正在集成 zxing 库以将条形码扫描到我的 android 应用程序。我在我的应用程序本地执行此操作,如图所示

http://code.google.com/p/zxing/source/browse/trunk/androidtest/src/com/google/zxing/client/androidtest/ZXingTestActivity.java

但是在运行该应用程序时,它要求我安装条形码扫描仪应用程序。如果不安装应用程序就无法实现这一点吗?

我已经对如何实现这一目标进行了大量研究,但我最终无法获得令人满意的结果。

我正在尝试使用这段代码来做到这一点,

      IntentIntegrator integrator = new IntentIntegrator(TestActivity.this);
      integrator.addExtra("SCAN_WIDTH", 800);
      integrator.addExtra("SCAN_HEIGHT", 200);
      integrator.addExtra("RESULT_DISPLAY_DURATION_MS", 3000L);
      integrator.addExtra("PROMPT_MESSAGE", "Custom prompt to scan a product");
      integrator.initiateScan(IntentIntegrator.PRODUCT_CODE_TYPES);

请帮我

更新 :

我现在正在使用不同的 zxing 技术进行扫描,即用相机捕获图像,然后对其进行解码。我可以使用此代码捕获图像,但在捕获后,我正在尝试使用 LuminanceSource、RGBLuminanceSource 等类对捕获图像的位图进行解码。

但是生成的二进制位图,

    BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));

似乎为空。

谁能告诉我这是为什么?我看到很多帖子说这对他们有用,但对我不起作用。

谁能给我一些建议。

这是我提到的链接,我在接受的答案中使用了确切的代码

适用于 Android 的条码/二维码阅读器

4

3 回答 3

1

您应该获得所有代码,包括您可以从 Google 代码托管下载的 zXing 库(core.jar),然后进行修改CaptureActivity.class以将结果返回到您之前的活动。呼叫意图

   Intent ii=new Intent(your activity.this,CaptureActivity.class);
    startActivityForResult(ii);

然后定义 onActivityForResult 你将有相应的结果。

于 2013-02-11T07:53:13.567 回答
1

终于我找到了这个问题的答案。使用 IntentIntegrator 会要求您手动安装扫描仪应用程序,然后使用它扫描条形码。

因此,任何不想使用应用程序或意图调用的人都可以使用库中提供的另一个名为 CaptureActivity 的活动

    Intent intent = new Intent(MyActivity.this, CaptureActivity.class);
    startActivityForResult(intent, 1);

此类存在于您下载的 Zxing 库的 android 文件夹中。将此 android 项目导入您的应用程序将集成 Zxing 库。导入时请注意包名称。

可以根据需要修改 CaptureActivity

笔记:

添加core.jar非常重要,否则您将遇到很多错误。

于 2013-02-13T14:25:46.767 回答
-1

我没有使用 zxing 库,但我的应用程序使用了 biggu Barcode Scanner。它还在内部使用相同的 zxing 库,但经过定制,使得集成过程非常容易。在此处查看我的答案,它可能会帮助您集成条形码扫描仪。如果您有兴趣通过解码图像来扫描条形码,也可以在同一链接中参考已接受的答案。

于 2013-02-11T07:53:08.997 回答