2010-02-10 57 views
34

嗨,我正在开发一个android htc英雄的应用程序。我正在研究如何使用内置摄像头读取二维条形码并提取条形码返回的字符串。我只是最近才开始使用android sdk,但是我有一个使用java处理项目的编程背景。我很想知道读取二维条码的最佳方式是什么。我有一些读取条形码的示例应用程序,但它们都是.apk文件,没有我可以使用的源代码或库。给你一个更好的想法,我正在尝试完成这个网站允许你想要的数据组成的二维条码here用android读条码

任何答复将不胜感激。

回答

37

的Android程序可以与海誓山盟使用意图进行交互。意图有点像远程过程调用:您要求其他程序进行某种操作(例如扫描条形码),另一个程序将为您执行此任务。任务完成时返回结果。

如果用户安装了ZXing条码扫描器,您可以使用意图扫描条码。然后条形码扫描仪将启动,让用户扫描代码并将结果返回给您。

关于这款扫描仪的更多信息,这个项目的谷歌代码页面上找到:http://code.google.com/p/zxing/wiki/ScanningViaIntent

+4

读取条码ANC返回值及这里的介绍了如何编程测试,可以处理的活动一个文档意图:http://developer.android.com/resources/ articles/can-i-use-this-intent.html,如果你想引导用户下载Barcode Scanner应用程序,这个文档对使用的URI有一个概述:http://developer.android.com/ guide/publishing/publishing.html#marketintent – 2010-02-10 22:59:48

+15

有没有一种方法可以将Zxing集成到我的android应用程序中,以便用户不必单独安装Zxing BarCode Scanner? – AKh 2011-09-14 21:18:50

+0

我想使用内置G-sensor进行扫描,而不是使用相机。当我们想使用手机相机进行扫描时,Zxing是非常有用的库。我使用提供内置激光扫描仪的iData95E设备。任何人都可以帮助我。 – patel 2013-12-12 04:20:06

11

我想看看这个开源的Android项目:http://code.google.com/p/zxing/

+0

我曾检查过,但我怎么能在我的应用程序intigrate这个API,我想在我的应用程序 – CoronaPintu 2013-05-31 10:37:01

-3

据我知道(从算法分开)解码的条码,你需要知道的(相对)的宽度白色和黑色的酒吧。为此,您必须将条形码旋转至水平位置,然后检测宽度。

(OK,别人劝斑马线的东西胜过本手册黑客)

+4

这是没有必要的:只要您可以在所有酒吧中制作水平线,则条形码不必是水平的 - 酒吧的绝对数字会更宽,但酒吧和空间的相对宽度将保持不变。换句话说,您甚至可以正确扫描旋转或偏斜的条形码。 – Piskvor 2010-06-22 21:33:19

+0

@皮卡尔:好点! – ron 2011-11-15 16:12:03