I Need Tools For...


Zebra Technologies provides devices for the enterprise to acquire, process and consume data from barcodes, magnetic stripe cards, RFID tags, smart cards, images, text and other technologies. To enable Zebra partners and customers of varying skills and requirements to make use of its devices, Zebra offers a broad array of tools designed to suit the requirements and capabilities of most any organization.


Zebra mobile and touch computers are equipped with a variety of scanning devices, each of which can be accessed through software included with the device or with apps developed by a partner or customer. Zebra's solutions are described below in order from easiest (and with the least coding required) to the most powerful and complex.


PROS: Free; Easy to set up; Built into all Zebra devices; Controlled with UI or intents
CONS: Fixed feature set; Programmatic access requires coding
Zebra recommends considering DataWedge before other Zebra solutions.

DataWedge provides barcode scanning and processing services for devices running Android, and is the fastest and easiest way to perform scanning out of the box or add it to an existing app. Included with every Zebra device, DataWedge enables any app on the device to acquire scanned data without the need to access the scanner APIs directly. DataWedge can be configured in minutes to automatically activate the desired scanner or reader whenever a particular app is launched, and can modify and pass acquired data to an app according to simple or complex rules.

Go to DataWedge docs
Need help deciding between DataWedge vs EMDK? See DataWedge vs EMDK Comparison

Enterprise Browser

PROS: Build cross-platform apps with HTML5 that access device APIs; Broad device support
CONS: Requires some JavaScript coding; Longer setup times; Licensing required

Enterprise Browser is a small-footprint web browser platform that uses industry-standard HTML5 for building cross-platform scanning apps with minimal coding. Runtime settings are stored in a single config file that's simple to understand, easy to modify and suitable for mass-deployment. Tools included with the platform simplify initial on-ramping and device configuration and debugging.

Go to Enterprise Browser docs


PROS: Most customizable solution; Complete control over all source code
CONS: Requires Java or C# coding; Potentially long setup and testing times

Organizations with access to Java and/or C# developers can use EMDK for Android and/or EMDK for Xamarin SDKs to build or modify Java or C# apps that acquire data on Android devices. Both SDKs offer simplified access to device APIs through Profile Manager, which automatically generates the XML to drive Zebra's device management layer.

Go to EMDK for Android docs
Go to EMDK for Xamarin docs
Need help deciding between DataWedge vs EMDK? See DataWedge vs EMDK Comparison

DataWedge vs EMDK Comparison

It is common for developers to be faced with the decision to choose between DataWedge or EMDK to integrate barcode scanning within their app. This comparison chart describes the differences and similarities between both, with DataWedge being the simpler route:

DataWedge EMDK
Ease of coding - Using Profiles: No coding required
- Using Intents: Minimal coding required. Common coding practices to receive input data from intents: barcode, serial/USB port, magnetic stripe reader, Data Capture Plus
API based - major coding required. Entirely different code required to receive each input data: barcode, serial/USB port, magnetic stripe reader, Data Capture Plus
Format scanned data - Using Profiles: Configuration available with Basic/Advanced Data Formatting
- Using Intents: Some coding required
Requires app coding
API responsiveness Responses pass through Android’s intent mechanism Responses received through API callback
Soft Scan Trigger (scan via screen tap) Using Profiles: Data Capture Plus profile enables areas of the device screen to be designated as scan triggers (ie. floating button, full-screen mode, button-only mode)
Using Intents: Use Soft Scan Trigger API
Requires app coding
Configuration deployment Deploy profile(s) via EMM EMDK is an SDK and is configured by the consuming application
Impact of abnormal app behavior Does not impact any other apps since resources are managed by DataWedge Locks down scanner resources if app exits or crashes without releasing the scanner, after which a device reboot is required. See Scanner resource handling below.
Development environment - Using Profiles: None required
- Using Intents: Standard Android development environment required
EMDK setup required in addition to standard Android or Xamarin development environment
Ease of scan behavior modification - Using Profiles: Easily accomplished with no app code modification required
- Using Intents: Code modification required
Requires app code modification
Scanner resource handling DataWedge handles major resource handling including profile switching, acquiring and releasing scanner, and activity switching between the foreground and background The hardware scanner must be shared between applications. Developer must take account of their application going to the background or coming to the foreground to release and re-acquire the scanner resource as required.
Asynchronous or synchronous calls Calls are asynchronous – the app is required to wait for the intent data. Status notification is recommended to determine status of parameter changes. Some calls are synchronous (i.e. device enumeration, getconfig, setconfig) and some are asynchronous (i.e. enable/disable scanner, read)
Special thread handling None required App cannot block main thread during EMDK initialization
Scanner capability Full control with use of intents Full control with use of APIs
Documentation Available online Available online
Device dependencies Built-in
Barcode scanning and camera capture in same activity Requires app coding to use intents for barcode scanning and camera capture within the same activity simultaneously Scanner resource must be released prior to using the device camera
Status notifications An app can register with DataWedge to receive notifications for events such as scanner status changes, profile switching and configuration updates OnStatus() notifications provide scanner status information


Zebra output solutions range from simple line printing with Zebra's printers to the development of printer apps and firmware using the Link-OS Multiplatform SDK.

Printing from Enterprise Browser
LinkOS Code Samples


Application Security

Zebra security ranges from simple, feature-based solutions to whole-device lock-down with or without encryption.

Enterprise Home Screen is a simple way to control user access to apps, settings and files on Zebra devices running Android without the need for custom code.

Enterprise Browser security options protect devices and data with a variety of solutions including basic authentication, client-server certificates, encryption, kiosk mode, and settings lock-out.

Zebra StageNow manages security with Zebra Mobility DNA, which can lock down peripherals, keys and ports, implement application whitelists and blacklists and set up services to monitor threats and send alerts in real time. Learn more about Zebra Mobility DNA features, which can:

Whole-device Security

Create a Single-Use Device (Kiosk)

When a device will be dedicated to a single task—an information kiosk, patient check-in system or price scanner, for example—Zebra's Enterprise Home Screen might be a good choice. Kiosk Mode opens one app in full-screen mode and prevents exiting when BACK and HOME keys are pressed.

Learn more about [EHS Kiosk Mode](../ehs/2-6/guide/features/#kioskmode)

App Migration

When there's a need to move an existing app from one device platform to another—such as from Windows CE to Android—Zebra offers multiple solutions to help ease the transition. Migration tools can put a new face on older apps or help move apps from older platforms to new ones.

Enterprise Browser

Migrate from Pocket Browser

Migrate from Rho Elements

Migrate from Rho Mobile

EMDK for Xamarin

Migrate a C# Windows Mobile/CE app


Have an idea for a feature? Let Us Know!

Back to Main page