DataWedge APIs

DataWedge APIs operate through Android intents, specific commands that can be used by other applications to control data capture without the need to directly access the DataWedge UI. See Using DataWedge APIs for information on how to send intents and receive results. For security purposes, DataWedge API use can be controlled to only allow approved apps to configure DataWedge.

For guidance on use of common DataWedge APIs, refer to DataWedge resources for application development and DataWedge Samples.

Note: Starting with Android 14, there is a delay in receiving intents sent to DataWedge. Specifically, if your application broadcasts an intent, it takes approximately 500 milliseconds to reach DataWedge due to changes in Android 14. To achieve faster intent delivery, use the sendOrderedBroadcast() API instead of sendBroadcast().

If intents are sent to DataWedge before it is ready, such as immediately after device reboot, they may not be processed. To avoid this, Zebra recommends to use Get DataWedge Status API to poll DataWedge status until a response is received to identify when DataWedge is ready.

DataWedge APIs are categorized into 4 types:

  • Configuration APIs - related to actions taken on configurations
  • Notification APIs - related to retrieving status for scanner, profile, or configuration
  • Query API - retrieve information or enumerate scanners
  • Runtime APIs - related to functionality that can be changed at runtime

Configuration APIs:
        Clone Profile - Create a copy of an existing DataWedge Profile including all settings.
        Create Profile - Create a new Profile without setting configurations.
        Delete Profile - Delete an existing Profile.
        Export Config - Export a Profile and/or Config file, which can contain multiple Profiles.
        Import Config - Import a Profile and/or Config file, which can contain multiple Profiles.
        Rename Profile - Rename an existing Profile.
        Restore Config - Reset all user-configured settings and restore DataWedge to the factory-default settings.
        Set Config - Create, update or replace a Profile and its settings.
        Set Disabled App List - Add, remove or update an app/activity from the list which prevents the use of DataWedge.
        Set Ignore Disabled Profiles - Prevent switching to a Profile that is disabled, including Profile0.

Notification APIs:

       Register/Unregister for Notifications enables apps to register or unregister to receive notifications of status changes related to:

  • Profile switching
  • Scanner status
  • Configuration
  • Workflow status - also applies to Barcode Highlighting

Query APIs:
        Enumerate Scanners - Generate an index of scanners available on the device.
        Get Active Profile - Get the name of the profile currently in use by DataWedge.
        Get Config - Gets the PARAM_LIST settings in the specified Profile, returned as a set of value pairs or a Plug-in config bundle.
        Get DataWedge Status - Return the DataWedge status, enabled or disabled.
        Get Disabled App List - Return a list of apps and activities that are blocked from using DataWedge.
        Get Ignore Disabled Profiles - Return the status of the "Ignore Disabled Profiles" parameter. If true, DataWedge cannot switch to any profile that is not enabled.
        Get Profiles List - Return the list of DataWedge profiles.
        Get Scanner Status - Return the status of the scanner currently selected as the default.
        Get Version Info - Return the current version of DataWedge and Scanner Framework/Decoder library installed on the device.
        Get Weight & Set Scale to Zero - Retrieve the weight of the object on the connected scale, then reset the scale to zero to ready it for weighing the next object.

Runtime APIs:
        Enable/Disable DataWedge - Enable/disable DataWedge on the device.
        Enable/Disable Scanner Input Plug-in - Enable/Disable the Scanner Input Plug-in in use by the current active profile, which effectively disables scanning.
        Enumerate Triggers - Retrieve supported trigger list of a device.
        Enumerate Workflows - Retrieve supported workflows on a device.
        Notify (Bluetooth Scanner Notifications) - Play notification sound(s) and/or display a colored LED after a scan from a connected Bluetooth scanner with RSM (Remote Scanner Management).
        Reset Default Profile - Reset the default profile to Profile0, the built-in profile used with unassociated apps.
        Set Default Profile - Set the specified profile as the default profile.
        Soft RFID Trigger - Start, stop or toggle a software RFID trigger.
        Soft Scan Trigger - Start, stop or toggle a software scanning trigger.
        Soft Trigger - Start, stop or toggle a software trigger for voice input.
        Switch Data Capture - Switch between barcode scanning and barcode highlighting, or switch between Workflow Input options at runtime.
        Switch Scanner - Switch to a specific scanner at runtime to enable an optimal scanning device for the app, requirement or situation.
        Switch Scanner Params - Temporarily update the settings of the active profile during runtime by passing one or more barcode, scanner and/or reader parameters as intent extras.
        Switch to Profile - Change the app association to the specified profile.

-->