M3 Mobile Barcode Scanning Device Integration
Devices with built in barcode scanners are built for speed and reliability that no camera barcode scanner can match.
We have worked with a number of devices with integrated barcode scanners to ensure that Kiosk Browser & Kiosk Launcher integrate with the barcode scanner in the best way possible.
Devices Tested
M3 SM15
ScanEmul Application
The pre-installed ScanEmul application sends barcode scan results in the form of keyboard input (HID) by default, so if Kiosk Browser/Launcher has focus on a textbox within your web application the barcode result will automatically be entered into that field. However there are scenarios where you may want to receive the results of scans differently or receive the data of multiple scans. To send the results directly to Kiosk Browser/Launcher follow the steps below:
Open ScanEmul from the application drawer
Tap the DEFAULT profile
Enable Intent Ouput (tick box)
Make sure Intent action is set to com.android.server.scannerservice.broadcast
Receiving Results via JavaScript Callback
Once the ScanEmul application is configured results are automatically loaded via the Barcode Redirect URL set under Settings > Toolbar (Kiosk Browser) or Settings > Browser (Kiosk Launcher) as per the section below. If you wish to receive the results via JavaScript you must register for the barcode scan callback. Once registered each scan result is sent via barcodeScanResult(data). This callback PERSISTS page loads, so you may need to unregister the callback on other pages if you do not always want the results to be fed back to you via JavaScript (use false as parameter).
function registerForBarcodeScanResults() {
if (typeof Android != 'undefined') {
//tell KB to return results via JS function
Android.useJavaScriptCallbackGenericScanner(true);
}
}
function barcodeScanResult(data) {
console.log(data);
}
Receiving Result and loading via Barcode Redirect URL
If the barcode data scanned contains a URL then it will automatically load this within Kiosk Browser/Launcher. If the data is just a string i.e. a product code "9549548L". This data will be returned and appended to the end of the Barcode Redirect URL as specified in Settings. So if the redirect URL is http://www.android-kiosk.com/stock.php?productcode= the resulting URL after scanning would be http://www.android-kiosk.com/stock.php?productcode=9549548L.
Alternative method via URL variable %BARCODEDATA%
Consider a scenario where the barcode data needs to be placed elsewhere (not at the end of a url). In this instance you can use a URL such as:
www.android-kiosk.com/scan/%BARCODEDATA%/moredata
The end result would be:
www.android-kiosk.com/scan/9549548L/moredata
Updated on: 03/03/2021
Thank you!