我试图在没有运气的BlackBerry设备中使用Cordova的BarcodeScanner插件。示例代码使用了这种结构:
window.plugins.BarcodeScanner...
但window.plugins
为undefined
。
我尝试了一个全新的应用程序,window.plugins
仍然是undefined
(我的意思是,示例应用程序没有任何添加)。
api是否已经改变,文档已经过时或者我缺少什么?
谢谢!
答案 0 :(得分:8)
Cordova 2.0删除了BarcodeScanner插件使用的“addPlugin”方法。因此,快速解决方法是删除(或注释掉)用于添加插件的“addConstructor”函数,并将其替换为对窗口对象的显式附件:
//cordova.addConstructor(function() {
// cordova.addPlugin('barcodeScanner', new BarcodeScanner());
//});
window.barcodeScanner = new BarcodeScanner();
然后,由于未使用“window.plugins”,您还需要更改调用“scan”方法的代码,因此请替换
window.plugins.barcodeScanner.scan(...
带
window.barcodeScanner.scan(...
我已经使用Cordova 2.0进行了测试,但它确实有效。
答案 1 :(得分:3)
刚遇到同样的问题。在查看窗口对象后,我发现BarcodeScanner就在那里。
所以window.BarcodeScanner.prototype.scan(result, error)
做了伎俩。
确保你等待cordova完全初始化,否则你可能会像has no method exec()
答案 2 :(得分:2)
所有,我今天早上推出了一款适用于2.0.0的新BarcodeScanner。
https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner/2.0.0
答案 3 :(得分:0)
最后,我使用了cordova 1.9.0,因为插件还不是最新的。
感谢大家!