This plugin integrates with the ZBar library, exposing a JavaScript interface for scanning barcodes (QR, 2D, etc). In this fork a button has been added to turn off and on device flash. In addition the plugin can now handle the device orientation change.
cordova plugins add org.cloudsky.cordovaplugins.zbar
This plugin is released under the Apache 2.0 license, but the ZBar library on which it depends (and which is distribute with this plugin) is under the LGPL license (2.1).
cloudSky.zBar.scan(params, onSuccess, onFailure)
Arguments:
-
params: Optional parameters:
{ text_title: "OPTIONAL Title Text - default = 'Scan QR Code'", // Android only text_instructions: "OPTIONAL Instruction Text - default = 'Please point your camera at the QR code.'", // Android only camera: "front" || "back" // defaults to "back" flash: "on" || "off" || "auto" // defaults to "auto". See Quirks drawSight: true || false //defaults to true, create a red sight/line in the center of the scanner view. }
-
onSuccess: function (s) {...} Callback for successful scan.
-
onFailure: function (s) {...} Callback for cancelled scan or error.
Return:
- success('scanned bar code') Successful scan with value of scanned code
- error('cancelled') If user cancelled the scan (with back button etc)
- error('misc error message') Misc failure
Status:
- Android: DONE
- iOS: DONE
Quirks:
- Android: On Android API Level < 14, flash "on" may cause the flash to alternate between on and off at about a half second/one second interval, instead of making it stay on...
Thank you to @PaoloMessina and @nickgerman for code contributions.