About DataWedge

DataWedge 8.1


DataWedge provides the capability for any application on the device to acquire data from various input sources (such as barcode scanner, MSR, RFID, voice, and serial port) and manipulate the data as needed based on simple options or complex rules. Available out-of-the-box with every Zebra Android device, DataWedge can easily be configured to automatically provide data capture services within any particular app; to use a particular scanner, reader or other peripheral device; and to properly format and transmit data to the right app.

There are 3 approaches to capture data:

  • Zero-code - eliminates the need for any programming or app modification by capturing and processing data with the use of DataWedge profiles configured from the user interface.
  • Minimal code - basic method to retrieve data from intents (commonly used with general Android programming) with the use of a broadcast receiver without the need for finer control of scanning activity or data processing. Refer to basic intent sample app.
  • DataWedge APIs - programmatically control, modify and query the DataWedge configuration settings and operations through Android intents without concern of the underlying hardware.

Follow the Get Started guide, which discusses both approaches and includes a programmer's guide on common use cases and best practices.

Profiles and Plug-ins form the basis of most DataWedge functionality. Profiles include all the information about how DataWedge should behave when providing scanning services for a particular application. Much of that information comes from Plug-ins, which determine how the data will be input, processed and output.

Each Profile generally contains four elements:

  • An Input Plug-in - to determine how data will be acquired (i.e. a barcode scanner)
  • A Process Plug-in - to specify how the acquired data should be manipulated
  • An Output Plug-in - to control the passing of data to an application
  • An associated application - (or activity) with which to link DataWedge actions

When associated with an app, DataWedge can be invoked to scan and acquire the data, format or append it in a specified way, and pass it to the associated app when the app comes to the foreground. DataWedge also includes Profile0, which works with any unassociated application that comes to the foreground. Profile0 contains baseline settings that can be tailored to suit individual needs. This allows DataWedge to be used out of the box with little or no setup.


  • Control of barcode scanning hardware is exclusive. When DataWedge is active, Scanner and Barcode APIs of apps such as Enterprise Browser and others will be inoperative. Likewise, when an app such as Enterprise Browser controls the scanning hardware, other apps (including DataWedge) are locked out. It is therefore important to understand how to take control of a device's scanner hardware and, if necessary, release it to other apps when scanning is complete. For more information, see the section on disabling DataWedge.
  • Delay in scanning after a device reboot. DataWedge requires a brief period of time to initialize after device reboot due to waiting for a response to be received from the initialization of the scanning subsystem, causing scanning to be inactive from DataWedge during this time frame.

Note: The appearance of sample app screens displayed throughout this guide can vary by DataWedge version, Android version, and screen size.

Main Functionality

DataWedge provides the following primary functions and options (feature availability may vary by version - refer to Version History):

Data Capture

Data Processing


Note: Availability and operation of DataWedge features varies by device and operating system (which determine the DataWedge version installed on the device).

Ready to get started? Go to the DataWedge Get Started guide.

Supported Devices

Supported external scanners and imagers:

  • DS2278
  • DS3608
  • DS3678
  • DS8178
  • LI3608
  • LI3678
  • RS507
  • RS4000
  • RS5000
  • RS5100
  • RS6000

Multi-User Support

DataWedge supports the use of multiple Android user accounts on a single device, enabling separate user profiles to maintain data privacy.

Features and functionality:

  • If DataWedge is enabled, its functionality applies only for the active user - Each user has a separate DataWedge process running. DataWedge usage and functionality only applies for the active user.
  • Any DataWedge profile change takes into effect globally across all users - A DataWedge configuration or profile change by a user (through DataWedge UI or profile import) applies to all users regardless of which user is logged in when the change is made. For example, if User A makes a change to a profile, User B sees the change in the same profile. The configuration file is stored in a location (by default /enterprise/device/settings/datawedge/config/datawedge.db) where the DataWedge process across all users utilize the same configuration file.
  • Camera scanning functions only for the primary (admin) user - Camera scanning is not available for secondary (non-primary) users.
  • Bluetooth scanner disconnects when switching between primary user and other users - This applies to profiles which have a Bluetooth scanner enabled. If the primary user is active, when switching to a different user with an active profile that also enables a Bluetooth scanner, the Bluetooth scanner disconnects and does not automatically re-connect to the device. The non-primary user needs to press the reset button on the Zebra Bluetooth scanner to reconnect, even if it shows that the Bluetooth scanner is connected to the device.
  • No external SD card access - If multiple Android user accounts exist, users cannot access the external SD card. This prevents the ability to export or import the Datawedge configuration database files from the SD card.
  • Limited folder access - Each user profile has its own folder structure that is not accessible from a different user. Therefore, a user cannot access the exported DataWedge configuration database of another user, preventing the ability to import/export configurations across users.
  • "DataWedge not ready" message after switching users following device reboot - When switching from a primary user to a secondary user for the first time after reboot, after attempting to open DataWedge or DWDemo the message "DataWedge not ready" may display. There could be a delay since DataWedge does not start until the BOOT_COMPLETED intent is received.

Language Support

DataWedge has been approved to run on device operating systems localized for the following languages:

  • English
  • French
  • German
  • Italian
  • Spanish
  • Simplified Chinese
  • Traditional Chinese

For more information about approved languages or to download a localized operating system, please contact Zebra Technical Support.

Usage Notes

  1. When the device is suspended, it takes a few milliseconds to release all the resources. DataWedge releases the resources once it receives the Screen Off notification. Until this notification is received, DataWedge continues to function (e.g. scanning) for a short period of time despite the device being suspended.
  2. Selecting DataWedge as a keyboard or IME (Input Method Editor) from the Virtual Keyboard settings on the device does not display any graphical keyboard. DataWedge keyboard is only for internal use of DataWedge. DataWedge should not be selected as the default IME, otherwise unexpected behavior can occur.
  3. After a device reboot, DataWedge starts after receiving the LOCKED_BOOT_COMPLETED intent. Calling DataWedge intent APIs before the LOCKED_BOOT_COMPLETED intent may cause unexpected behavior as DataWedge is still not started yet. Calling DataWedge intent APIs soon after receiving the LOCKED_BOOT_COMPLETED intent may also cause unexpected behavior as DataWedge may still be in the initialization process. It is recommended to wait for a few seconds after receiving the LOCKED_BOOT_COMPLETED intent before calling any DataWedge intent APIs.
  4. When Data Capture Plus icon is displayed by DataWedge on top of another application, Android displays a silent notification in the notification area. Users can hide the Data Capture Plus icon by tapping on this notification and disabling the “Allow display over other apps” option. If a user decides to disable this option, even though Data Capture Plus is enabled in DataWedge, it does not display on the screen.
  5. On Android 10 and higher devices, although the DataWedge icon is visible, DataWedge is not supported with Android work profile.

New in DataWedge 8.1

Recent Version History

Added in DataWedge 8.0

Added in DataWedge 7.6

  • Added Dutch Postal 3S and Finnish Postal 4S decoder support.
  • New Report Decoded Barcodes option for MultiBarcode decoding.
  • RFID input is disabled in Profile0, DataWedge's default generic profile. Previously it was enabled by default.
  • Improved look and feel of user interface. Refer to Settings and DWDemo.
  • Image Capture Mode option from Reader Params is removed due to changes in the scanner framework.
  • Support for SimulScan API is deprecated - SimulScan support will be removed from DataWedge beginning with Android 10 Q device support.

Added in DataWedge 7.5

Added in DataWedge 7.4

  • New Enterprise Keyboard Configuration feature introduced in DataWedge 7.4.44.
  • DataWedge 7.5 and later versions only support Android Oreo (v8.0) and later.
  • Introduced voice capture activation by PTT (push-to-talk) button with new Data capture start option.
  • Added new DPM support for barcode reader and SetConfig API.
  • Enterprise Keyboard option visible in the DataWedge profile screen is an upcoming feature for future use.

Added in DataWedge 7.3

Added in DataWedge 7.2

Added in DataWedge 7.1

Added in DataWedge 7.0

New updates are identical to DataWedge 6.9.

Other Changes

Added in DataWedge 6.9

Other Changes

Added in 6.8

Other changes

The SimulScan Input Plug-in default template is now "Default - Barcode4.xml"

Added in v6.7

  • This version supports devices running Android Lollipop and higher only.

  • Supports multi-barcode input for simultaneous acquisition of more than one barcode at a time.

  • Enhanced inter-character delay function allows a delay to be specified for all characters or for multi-byte characters only.

  • AimType now supports Press and Sustain function continues a decode session until the Beam Timer is expired, barcode is decoded or the read is canceled.

  • A Dynamic Templates parameter allows the number of barcodes to be specified (from 1-99) for decoding on a form when using SimulScan Dynamic Templates.

  • A new IMPORT_CONFIG API allows Config and Profile settings files to be imported using an intent.

Added in v6.6

  • New serial input options allow DataWedge to specify communications parameters for a scanner or other device connected to a serial port and used to acquire data.

  • Import Reporting displays the results of imported databases and Profiles, allowing administrators to easily identify source/destination differences and make adjustments to compensate.

  • A new SET_REPORTING_OPTIONS API provides control of Reporting features with intents.

  • The SET_CONFIG API now configures multiple plug-ins with a single intent action.

  • The SWITCH_SCANNER API now supports friendly device names with a new extra.

Which Version is Installed?

To determine which DataWedge version is installed on a device:

1. On the device, locate and tap the DataWedge icon in the Launcher screen or App Drawer: Launcher icon for DataWedge 6.x

2. Tap the "hamburger" menu. The DataWedge menu appears:

3. Tap About. The "About DataWedge" screen appears. The DataWedge version number is highlighted in the image below. Notice that the Scanner Framework version also is shown.
The "About DataWedge" box showing version numbers

4. If the DataWedge version on the device is different than that of this guide, return to the TechDocs tile page and select the appropriate version from the drop-down menu in the DataWedge tile.

It also might be helpful to visit the Zebra support site and download a device-specific Integrator Guide for reference.

Related Guides: