我创建了一个简单的移动应用程序,显示相机并使用
https://github.com/LazarSoft/jsqrcode解码QRCodes
因为我的相机是模糊的,这适用于大QRCodes.有没有办法用Javascript对焦相机?所以这也适用于较小的图像或还有另一种解决方案?
编辑
我注意到,如果我使用Android应用程序(而不是HTML5版本),它可以处理更多的色差,并可以扫描我的代码,而jsqrcode不能.我使用错误的图书馆吗?
使用ZXING
我的工作代码:
public void scan() { IntentIntegrator integrator = new IntentIntegrator(this); integrator.initiateScan(); } public void onActivityResult(int requestCode,int resultCode,Intent intent) { // On Scan result we get get to this part try { IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode,resultCode,intent); if (scanResult != null) { // CODE } } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
还需要将import com.google.zxing.integration.android导入到我的项目中.
解决方法
HTML5版本甚至可以在手机上工作吗?
CanIUse表示它不应该在任何移动设备上工作,除了黑莓…但它们有时不是最新的.
无论哪种方式 – 怀疑有一个一刀切的解决方案与这样一个新的API.您可以看到有关在手机上使用应用程序(本机代码)的版本以及桌面的启用Flash的版本.您将必须执行自己的设备嗅探:
if( user_has_flash ) { // Load an HTML5/Flash solution } else if( is_mobile_device) { // defer to the native code // zxing has a phonegap plugin - https://github.com/wildabeast/BarcodeScanner } else { alert("Your device does not have scanning capabilities"); }