Windows Phone 8 PhoneGap 条码扫描仪

Posted

技术标签:

【中文标题】Windows Phone 8 PhoneGap 条码扫描仪【英文标题】:Windows Phone 8 PhoneGap Barcodescanner 【发布时间】:2013-05-11 16:01:42 【问题描述】:

我一直在尝试将 Windows Phone 8 与 PhoneGap 和插件 (https://github.com/phonegap/phonegap-plugins/tree/master/WindowsPhone/BarcodeScanner) 一起用于 BarcodeScanning。但我不知道如何开始。

我在 index.html 中集成了一个<a href="#" class="btn" onclick="window.plugins.barcodeScanner.scan">Scan Code</a>,但 VS2012 只告诉我Error:"Unable to get property 'barcodeScanner' of undefined or null reference file:x-wmapp0:www/index.html Line:31"

谁能帮我一把?

【问题讨论】:

【参考方案1】:

我认为您没有包含cordova.windows-x.x.x.js 或barcodescanner.js。

【讨论】:

【参考方案2】:

barcodeScanner.js 中有一个错误。

在文件底部显示

Cordova.addConstructor(function() 

将 Cordova 更改为 cordova(小写),一切顺利。

接下来,如果你得到错误

Error::Plugin not allowed in config.xml. org.apache.cordova.barcodeScanner

在尝试扫描时,将以下内容添加到项目根目录中的 config.xml 中:

<plugin name="org.apache.cordova.barcodeScanner"/>

【讨论】:

【参考方案3】:

我不确定这是否是您想要的,但这是我为使其工作所做的步骤:

在您的项目中添加 BarcodeScanner 和 ZXingVer1_7 dll。

将 BarcodeScanner.cs 添加到您的项目中。(必须在项目的根目录下)

&lt;plugin name="BarcodeScanner" /&gt; 添加到您的 config.xml。

将barcodescanner.js 添加到您的“www”目录中。

添加&lt;script type="text/javascript" src="../barcodescanner.js"&gt;&lt;/script&gt; 在您的 cordova.js 声明之后到您的 html 页面。 (路径可能会有所不同,具体取决于您放置 html 的位置)

在您的barcodescanner.js 中,确保所有“cordova”引用不是这样写的:“Cordova”

在您的barcodescanner.js 中,以“return cordova.exec(...”开头的行中,将字符串“barcodeScanner”替换为“(您的项目名称).barcodeScanner”

要使用它,只需将其添加到您需要条形码扫描的位置:

window.plugins.barcodeScanner.scan(function (result) 
        alert("We got a barcode\n" +
                  "Result: " + result.text + "\n" +
                  "Format: " + result.format + "\n" +
                  "Cancelled: " + result.cancelled);
          , function (error) 
            alert("Scanning failed: " + error);
        );

【讨论】:

以上是关于Windows Phone 8 PhoneGap 条码扫描仪的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Mobile无法在PhoneGap Windows Phone 8中运行

Sencha Touch - Windows Phone 8 Phonegap 应用程序栏不隐藏在后退按钮单击

带有 AngularJS 的 Windows Phone 8.1 上的 Phonegap 无法从我的 API 中检索 JSONP

将 windows phone 8.0 phonegap 应用程序从 worklight 6.0 移动到 worklight 6.1

如何查看 Windows Phone 8 模拟器或运行 Phonegap 应用程序的设备的 javascript 控制台输出

无法使用PhoneGap在Windows Phone 7中调用Ajax方法