This post will demonstrate how to scan multiple barcodes in a single trigger pull on Zebra Android mobile computers. The multi-barcode capability is being further enhanced in the near future but this post describes what you can do today.
The sample application to accompany this post can be found on github and uses the "Basic Multibarcode" feature of DataWedge.
DataWedge is the recommended approach for capturing data on Zebra Android mobile computers – barcode scanning, RFID or even voice. Over the past few months we have added even more features to DataWedge such as multiple barcode scanning, enhanced security, OCR, signature capture, new decoder support and much more. These features are available for free on our enterprise-series Android devices so learn how to take advantage of them in this webinar.
Presented by Darryn Campbell and Catherine Wei, Software Engineers, Zebra Technologies
DataWedge 8.0 introduced a new capability to the DataWedge Intent output plugin, the ability to specify the component of the application which will receive the Intent.
Up until version 8.0, DataWedge only allowed you to specify the action, category and delivery mechanism (Start Activity, Start Service or Send Broadcast)
DataWedge Background Scanning
The sample application to accompany this post is available on Github
Although not common, some customers targeting Zebra Android mobile computers need to be able to scan barcodes when the application is in the background or the mobile computer is in the standby state. Following a question posted on the developer forum we came up with an architecture that appeared to work reliably.
Over the past couple of years I have seen an increasing interest in developing Flutter apps for Zebra Android mobile devices. Until recently I had directed developers to a 3rd party flutter demo that shows how to wrap the EMDK (Zebra's Android scanner SDK). That sample is at https://github.com/acaliaro/flutterZebraEmdk but Zebra's recommended approach is to use DataWedge rather than the EMDK for scanner integration and I noticed a number of people asking about non-Zebra device compatibility, something that is more difficult to achieve with the EMDK.
This article assumes familiarity with Zebra's DataWedge tool as well as the DataWedge profile mechanism. For an overview of DataWedge, please refer to the DataWedge Techdocs page
A very common use case for many Zebra Android developers is using the device scanner across multiple activities in their application, this could cover the following:
Most applications will need to temporarily disable the barcode scanner during their lifecycle. There are two ways to achieve this with DataWedge, both using the ScannerInputPlugin API: Enable / Disable or Resume / Suspend:
Enable / Disable:
Enable / Disable can be called at any time
This is only an issue on some new Symbol MC9190 RF scanners and all of my warehouse locations include a slash "\" in the actual barcode - ie Warehouse1\Aisle2\BinA - when I scan the barcodes it eliminates the slashes in the barcode and appears to be removing data before or after the slash. I'm sure this is just a setting but I can't find how to turn it on. Help please!
On my app, when using my MC330M to scan an EAN, it outputs a single string using a single "change" event. My MC330M has DataWedge on version 6.7.39
Now I'm testing my app on a TC20 with DataWedge on version 7.0.4 and it breaks a feature because the output of an EAN scan is sent with multiple "change" events.
One "change" event for each characters.