Overview
Zebra recommends using DataWedge via EB intent APIs for scanning from within EB apps instead of the EB Barcode APIs.
The DataWedge app (included on every Zebra device) makes it possible to acquire barcode data from within an Enterprise Browser app without using the EB APIs. This guide explains how to configure an EB app to scan and process barcode data using DataWedge, which then enters the captured data as keystrokes into any EB input field.
The steps for enabling DataWedge for use with EB (and for disabling it so that apps can use the scanning APIs) vary slightly depending which DataWedge version is installed on the device. From the sections below, select the instructions matching the DataWedge version installed on the target device.
This Android-only guide contains instructions for configuring Enterprise Browser to use:
For Android 11 and later, support for DataWedge intent APIs requires:
- Android 11 devices: DataWedge 11.4.205+
- Android 13 devices: DataWedge 13.0.103+
DataWedge 6.5 and later (most common)
Which DataWedge version is installed?
DW 6.5 and later
EB 2.0 works directly with DataWedge 6.5 and later versions provided the <usedwforscanning>
tag in the EB app's Config.xml
file is configured correctly (see below). For help editing the Config.xml
file, see the Config Editor Utility guide.
Prerequisites
- DataWedge 6.5 or later in the device (more info)
- Enteprise Browser 2.0 or later in the device
- EB API module
ebapi-modules.js
on the device (more info)
To enable DataWedge 6.5 (or later) in an EB 2.0 (or later) app:
1. Confirm (or configure) a value of "1" in the <usedwforscanning>
tag in the app's Config.xml
file as below:
<Applications>
<Application>
...
<usedwforscanning value=”1” />
...
2. Push the updated Config.xml
file to the device and restart the EB app.
The EB app is now ready to use DataWedge for scanning.
To change DataWedge settings from within an EB app, see the EB DataWedge Intents guide.
Re-enable EB APIs
To disable DataWedge and enable EB APIs for scanning:
Set a value of "0" in the <usedwforscanning> tag, as shown:
<Applications>
<Application>
...
<usedwforscanning value=”0” />
...
DW 6.0.1 to 6.4
Important: Some versions of DataWedge 6.x automatically disable Enterprise Browser after every device reboot by adding it to the "Disabled apps list." If com.zebra.mdna.enterprisebrowser
reappears in the Disabled apps list after reboot, it must be manually removed before EB can use DataWedge for scanning. The only alternative is to upgrade DataWedge, which for Android requires a new BSP (OS image). Such updates should be attempted only with the guidance of Zebra Support.
Use DataWedge for Scanning
To enable an EB app to scan with DataWedge 6.0.1 and later:
1. Confirm that no association with com.zebra.mdna.enterprisebrowser
exists in the "Disabled app list" in the DataWedge Settings panel:
In DataWedge, select Menu->Settings->Disabled app list. The list of disabled apps appears.
Remove
com.zebra.mdna.enterprisebrowser
from the list, if present (see note, above).
2. In the EB app's config.xml
file, set a value of "1" in the <usedwforscanning> tag.
Use Enterprise Browser APIs for Scanning
To use a device scanner through an Enterprise Browser API:
- Set the value in the <usedwforscanning> tag of the EB app's
config.xml
file to "0"
DW 2.2.9 to 5.1.13
Enabling these versions of DataWedge for use by an Enterprise Browser app requires two DataWedge profiles to be downloaded and activated separately using the steps in the section below.
Use DataWedge for Scanning
To enable an EB app to scan with DataWedge versions 2.2.9 - 5.1.13:
- Download the required DataWedge (
.db
) profiles: - Copy both profiles into the
/Android/data/com.symbol.datawedge/files
directory on the device, replacing the existing file(s), if any. - On the device, install the Enterprise Browser app that will be using DataWedge (if not already installed).
- Start DataWedge on the device.
- In DataWedge, select Menu->Settings->Import Profile. A list of available profiles appears (as shown on this example screen).
- Must be done in this order:
- From the list, tap on the "RhoElements" Profile copied in Step 2. After the Profile is imported, focus returns to the previous screen and a confirmation message appears.
- Tap on the "EnterpriseBrowser" Profile (must be activated last).
- Tap the BACK button to return to the DataWedge Profiles list. Both new Profiles are listed, and the EnterpriseBrowser Profile (activated last) should be enabled.
- In the EB app's
config.xml
file, set a value of "1" in the <usedwforscanning> tag.
Use Enterprise Browser APIs for Scanning
To use a device scanner through an Enterprise Browser API:
- In the EB app's
config.xml
file, set a value of "0" in the <usedwforscanning> tag.
DW 2.2.8 and lower
As documented above, control of barcode scanning hardware is exclusive. When DataWedge is active, Enterprise Browser APIs are prevented from accessing device scanner(s), and an Enterprise Browser app that uses those APIs will likewise prevent other apps (including DataWedge) from accessing the scanner(s). To use the Enterprise Browser scanning APIs, it is therefore necessary to disable DataWedge, either on the entire device or for EB apps only (Options 1 and 2, below).
Use DataWedge for Scanning
To enable an EB app to scan with DataWedge 2.2.8 and lower:
- In the EB app's
config.xml
file, set a value of "1" in the <usedwforscanning> tag.
Use Enterprise Browser APIs for Scanning
Making device scanners available to Enterprise Browser APIs can be done either by disabling DataWedge on the device (Option 1), which prevents all other device apps from using DataWedge, or by disabling DataWedge only for Enterprise Browser apps (Option 2), which permits other device apps to use DataWedge when EB isn't running.
Option 1: Disable DataWedge on the device
- Start DataWedge on the device.
- In DataWedge, select Menu->Settings.
- Uncheck the "DataWedge enabled" checkbox.
- In the EB app's
config.xml
file, set a value of "0" in the <usedwforscanning> tag.
DataWedge is now disabled and unavailable to any app on the device.
Note: DataWedge also can be disabled (or re-enabled) programmatically using DataWedge APIs.
Option 2: Disable DataWedge only for Enterprise Browser
To create and disable an Enterprise Browser Profile in DataWedge:
- Install the Enterprise Browser app that will use DataWedge.
- Start DataWedge.
- In DataWedge, select Menu->New Profile, Enter a Profile name and tap OK. The list of Profiles appears.
- Tap on the newly created profile.
- In the Applications section, tap Associated apps.
- Tap Menu->New app/activity. A list of apps/activities appears.
- From the list, select the package name of the EB app (i.e.
com.zebra.mdna.enterprisebrowser
) that will use DataWedge. The app activities list appears. - From the app activities list, tap the asterisk (*) to associate all app activities with the Profile, or tap on an indvidual activity to use DataWedge only for that specific activity.
- Tap BACK to return to the Profile screen.
- Confirm that the Profile's "Profile enabled" box is checked.
- In the new Profile, uncheck the "Enabled" box for these three sections: Barcode input, Keystroke output and Intent output.
- In the EB app's
config.xml
file, set a value of "0" in the <usedwforscanning> tag.
DataWedge will now be disabled whenever an Enterprise Browser app is running.
Related guides: