我在visual studio中有这个解决方案,我正在创建一个cordova项目。我还安装了ngCordova和phonegap-plugin-barcodescanner插件。
我注射了ngCordova并完成了这个功能:
$scope.scan = function() {
$cordovaBarcodeScanner.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.plugins未定义
我错过了什么?
答案 0 :(得分:1)
Cordova插件仅在真实设备或模拟器上运行。
scan()
方法返回一个承诺:
$cordovaBarcodeScanner
.scan()
.then(function(barcodeData) {
// Success! Barcode data is here
console.log(barcodeData);
}, function(error) {
// An error occurred
console.log(error);
});
如果您想测试在浏览器中运行的应用,可以使用这样的模拟:
if (!window.cordova){
window.cordova = {
plugins: {
barcodeScanner: {
scan: function (success, error) {
var code = window.prompt("Enter barcode value (empty value will fire the error handler):");
if(code) {
var result = {
text:code,
format:"Fake",
cancelled:false
};
success(result);
} else {
error("No barcode");
}
}
}
}
};
}