现在已经尝试了几个小时并取得了一些进展,但没有朝着正确的方向发展。
我已经成功设置了一个Android Cordova项目,该项目加载到手机上运行良好。我只是无法让条形码扫描器插件在Cordova 3.1中工作。我相信它已经正确安装但它没有出现在config.xml中,但它确实出现在cordova_plugins.js文件中等。
我在index.js中有这个
function clickScan() {
var scanner = cordova.require("com.phonegap.plugins.barcodescanner.BarcodeScanner");
scanner.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);
}
);
}
现在,当我按下扫描按钮时,它似乎运行此代码,但直接跳转到成功功能,只显示带有空白结果的警告框。
我正在使用并通过cordova插件添加的扫描程序是https://github.com/wildabeast/BarcodeScanner
我不目前正在将barcodescanner.js文件导入html中,因为我已经使用旧版本的cordova,因为我认为这在3+中的处理方式不同,似乎在cordova_plugins中定义.js文件?
更新:据我所知,上面的配置似乎没有在Eclipse中弹出任何明显的错误。
答案 0 :(得分:5)
是的,您不需要在index.html中导入任何特定于插件的javascript文件。 通过确认YourProject / res / config.xml文件,确认已正确安装在项目中的插件具有以下条目:
<feature name="BarcodeScanner">
<param name="android-package" value="com.phonegap.plugins.barcodescanner.BarcodeScanner" />
</feature>
要使用插件,只需使用调用插件函数的更新语法 -
function clickScan() {
cordova.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);
});}