ZXing条码扫描仪适用于Web应用程序

5
我正在尝试使用http://zxing.appspot.com/scan从WebApp调用条形码扫描器,但我无法使其工作。即使不必要地更新和重新安装它,它仍然只显示默认的zxing网页,要求我在手机上安装条形码扫描器。我错过了什么吗?
以下是我用来调用ZXing扫描仪的javascript代码。为了测试目的,我甚至尝试制作了一个简单的HTML超链接,但没有成功。我正在使用Android的WebView加载应用程序。
window.location.href = 
"http://zxing.appspot.com/scan?ret=http://192.168.1.33:3000/pallet/{CODE}/change_position/"+positionId+"&SCAN_FORMATS=CODE_39";

这是条形码扫描器的清单,通过浏览器识别和触发扫描器:

<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="http" android:host="zxing.appspot.com" android:path="/scan"/>
</intent-filter>

有趣的是,http://www.google.com/m/products/scan也可以进行同样的操作,而且运行得很完美。欢迎提供任何帮助或想法!非常感谢!
5个回答

2

看起来你正在发送一个本地网络上的图像URL(192.168... IP地址),而zxing.appspot.com无法通过互联网访问它。


我刚刚尝试了直接从安卓浏览器中打开,例如 http://zxing.appspot.com/scan?ret=http://www.facebook.com/{CODE},但仍然没有触发扫描器... 查看条形码扫描器的清单,我已经确定了它应该识别和启动扫描器的部分: <data android:scheme="http" android:host="zxing.appspot.com" android:path="/scan"/>这应该会启动应用程序,即使手机没有连接到互联网,对吧? - Mecer
@Mecer,我对Android编程一无所知,所以很遗憾我无法帮助你。希望有了解这方面的人能够帮到你。 - Matthew Crumley

1

我想我在项目邮件列表上已经提出了一些想法,但又有了一个好主意:

你确定你没有在浏览器中“保存”处理此链接的偏好设置吗?例如,当你有一个应用程序选择时,通常会问你是否要永久使用该应用程序来打开那种链接或意图。也许你只是为这个链接和浏览器做了这样的设置。去应用程序中,“清除默认值”所有这些应用程序,然后再试一次。


我已经尝试了不同的浏览器和手机,但都没有成功,并且也没有设置任何默认值。 - Mecer

1
是的,像这样触发它:

zxing://scan/?ret=http://192.168.2.9/stock/add.php?barcode={CODE}

0

分享一下我在 Angular 2+ 应用程序中使用 HTML 锚元素的输入:

  1. 链接的 ret 部分需要进行 URL 编码,只需使用

 this.callbackUrl = encodeURIComponent(`${currentURL}{CODE}&SCAN_FORMATS=Code 39`);
 this.totalBarCodeUrl = `http://zxing.appspot.com/scan?ret=${this.callbackUrl}`;

  1. HTML就像这样:

 <a [href]="totalBarCodeUrl"></a>


0

在我的设备上,它可以在默认的安卓浏览器中运行,但无法在谷歌Chrome浏览器中运行。


嗨@rigyt,我们也遇到了同样的问题。你找到解决这个问题的方法了吗? - Sarim Shekhani
嗨,是的,现在可以在安卓上使用Google Chrome正常运行了,使用链接:http://zxing.appspot.com/scan?ret=https<my_web_app_url>/{CODE}&SCAN_FORMATS=UPC_A,EAN_13。 - rigyt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接