Articles on: Hardware Barcode Scanners

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

ScanEmul Application in App Drawer

ScanEmul Application

ScanEmul Intent Output

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

Was this article helpful?

Share your feedback

Cancel

Thank you!