我正在集成zxing库来扫描条形码到我的Android应用程序。我在我的应用程序本地执行此操作,如
所示但在运行应用程序时,它要求我安装条形码扫描仪应用程序。如果不安装应用程序,是否无法实现这一目标?
我已经做了很多关于如何实现这一目标的研究,但我最终得不到满意的结果。
我正在尝试使用这段代码
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));
似乎为空。
有人可以告诉我这是为什么吗?我看过很多帖子说这对他们有用但是对我不起作用。
任何人都可以建议我。
以下是我提到的链接,我在接受的答案中使用了确切的代码
答案 0 :(得分:1)
您应该获得所有代码,包括可以从Google代码托管下载的zXing库(core.jar),然后修改CaptureActivity.class
以将结果返回到您之前的活动。呼叫意图
Intent ii=new Intent(your activity.this,CaptureActivity.class);
startActivityForResult(ii);
然后定义onActivityForResult,你将得到相应的结果。
答案 1 :(得分:1)
最后我找到了答案。使用IntentIntegrator会要求您手动安装扫描仪应用程序,然后使用它扫描条形码。
因此,不想同时使用app或intent调用的人可以使用库中提供的另一个名为CaptureActivity的活动
Intent intent = new Intent(MyActivity.this, CaptureActivity.class);
startActivityForResult(intent, 1);
此类存在于您下载的Zxing库的android文件夹中。将此android项目导入您的应用程序将集成Zxing库。导入时要小心包名称。
您可以根据需要修改CaptureActivity
注意:强>
添加 core.jar 非常重要,否则您最终会遇到很多错误。
答案 2 :(得分:-1)
我没有使用过zxing库,但在我的应用中使用了biggu条码扫描器。它内部也使用相同的zxing库,但是定制使得集成过程非常容易。检查我的Answer,这可能有助于您集成条形码扫描仪。如果您对通过解码图像扫描条形码感兴趣,也可以在同一链接中引用接受的答案。