Using DataWedge with Multiple Android Activities

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:

Quickly Suspend Scanning in Your App with DataWedge

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

Datawedge does not read "\" slashes in the barcode

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!

Undocumented difference between DataWedge 6.7 and 7.0


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.

[TC-20][DataWedge 6.7][Android] How to scan variable number of bar codes in multi barcode mode?

I'm working on simple data collecting and matching program.
There will be 5 barcodes to scan in 2 groups (group of 3 and group of 2).
Scanning them one by one would be to slow, so I need to scan them in multi-barcode mode.
Problem is that I have to declare how many barcodes I want do scan in profile, but I have 2 barcodes in one location and 3 barcodes in another location, so I would need kind of flexible profile that would just accept min 2 and max 3 codes.

E/ScannerFramework: privV4lGetFrame: Polling 35ms Timeout: 0


I've been trying out the new CC6000, all going well except after a few minutes the scanner in the app becomes unresponsive.

I've seen these errors come in but don't understand them.

E/ScannerFramework: privV4lGetFrame: Polling 35ms Timeout: 0

About the time the scanner became unresponsive these lines got logged.

Migrating from EMDK to Datawedge


Currently, we use the Zebra scanners with EMDK integrated into our app. I've been reading the techdoc and noticed that Zebra "strongly recommends using DataWedge for all applications that require barcode scanning and data capture." It seems like Zebra will also always keep Datawedge up to date first.

So my question is, is it worthwhile to migrate from EMDK to Datawedge? If anyone has migrated before, how difficult is the process?

Thanks a lot!

DataWedge Broadcast Intents are not being delivered

My datawedge version is 6.2.23 on Android 6.0.1 running on TC700K.

I have created a profile in DW that should output broadcast intents, but my app never receives them.

I have tried various combinations of action/category being specified in the intent output:

- Action Only
- Action + Category

My app is built w/ Xamarin and is programmed to receive the broadcasts via a context registered broadcast receiver. I have verified that my app receives the intents when I broadcast them via ADB.


Using a Bluetooth Ring Scanner across Multiple Applications

We have had several customers over the past year or so develop solutions that comprise Zebra Bluetooth Ring Scanners, for example the RS6000 paired with a Zebra Mobile computer such as the WT6000 and running two or more Android applications which will perform scanning.  A common question is “How do I control the ring scanner across these multiple apps?” Specifically: