I'm trying to use the BarcodeScanner plugin for Cordova in a BlackBerry device without luck. The sample code makes use of this structure:
window.plugins.BarcodeScanner...
but window.plugins
is undefined
.
I tried with a fresh new application and window.plugins
continues to be undefined
(I mean, the sample application without any addition).
Did the api have changed and the documentation is outdated or there's something I'm missing?
Thanks!
Cordova 2.0 has removed the "addPlugin" method used by the BarcodeScanner plugin. So a quick fix would be to remove (or comment out) the "addConstructor" function used to add the plugin, and replace it with an explicit attachment to the window object:
//cordova.addConstructor(function() {
// cordova.addPlugin('barcodeScanner', new BarcodeScanner());
//});
window.barcodeScanner = new BarcodeScanner();
Then, since "window.plugins" isn't used, you will also need to change the code that calls the "scan" method, so replace
window.plugins.barcodeScanner.scan(...
with
window.barcodeScanner.scan(...
I have tested this with Cordova 2.0 and it works.
Just ran into the same problem. After looking into the window-object I found the BarcodeScanner being right there.
Sowindow.BarcodeScanner.prototype.scan(result, error)
did the trick.
Make sure you wait for cordova to be fully initialized, otherwise you may get sth like has no method exec()
All, I pushed a new BarcodeScanner this morning that works with 2.0.0.
https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner/2.0.0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With