Bluetooth Manager

Note: To display only the features present on a particular device, select one or more filters from the SmartDocs bar below.

Language Note: Input fields accept ENGLISH ONLY.

EMDK For Android - 8.0

Overview

The Bluetooth Manager (BluetoothMgr) controls whether a device can pair with Bluetooth peripherals such as headsets, printers and scanners that come into range, and whether the device can be "discoverable," which would enable other Bluetooth devices to initiate pairing requests with it.

Bluetooth is a short-range wireless technology operating in the 2.4 GHz ISM band that was originally intended as a replacement for serial communications cables. It has since been adopted as a standard for hands-free headsets, stereo audio, networking to PCs and connections for barcode scanners, medical equipment and other devices formerly using RS-232.

IMPORTANT: For Zebra Professional-series devices, the following Bluetooth Manager parameters require purchase of a Mobility DNA Enterprise License:

  • AllowDiscoverability
  • AllowPairing
  • AllowSilentPairing
  • SilentPairingAction
  • SinglePairing
About MDNA licensing

Main Functionality

  • Enable/Disable
    • Bluetooth Pairing
    • Bluetooth Discoverability
    • Silent Pairing (no user confirmation)
    • Single Pairing (with one specific device type at a time)
    • Mandatory Identifier
    • Pairing only with "trusted" devices
  • Create remote pairing rules
  • Create pairing rules based on:
    • Preset device categories
    • Custom device categories
  • Erase all paired-peripheral information on device

Zebra Bluetooth Settings app

Zebra devices running Android 8.x Oreo and later come with the Zebra Bluetooth Settings (ZBS) app preinstalled. When run on a device with Bluetooth enabled, this app scans discoverable devices in the vicinity and displays their Bluetooth name, MAC address and Upper Address Part (UAP) information similar to the image shown below.

To expose Bluetooth info of nearby devices:
  1. Set the relevant device(s) as discoverable.
  2. Open the Zebra Bluetooth Settings app on a device.
  3. Tap the "refresh" icon to begin scan: ZBS is preinstalled on devices running Android 8.x Oreo and later.

  4. Collect Bluetooth information as needed.

Discoverability Enable/Disable

Controls whether the device can be put into "discoverable" mode by the device user. When in this mode, the device can be discovered by other Bluetooth devices, which could then attempt to pair with it. This parameter has no effect on the device's own ability to discover other devices, to initiate pairing requests with them, or to reconnect with devices it had paired with previously.

Note: For Zebra Professional-series devices, this feature requires purchase of a Mobility DNA Enterprise License. See techdocs.zebra.com/licensing.

Parm Name: AllowDiscoverability

Option Name Description Note Requires
0 Do not change This value (or the absence of this parm from the XML) causes no change to device settings; any previously selected setting is retained.

MX: 6.1+

Android API: 23+

1 Enable Enables the user to set the device as "discoverable" by other Bluetooth devices.

MX: 6.1+

Android API: 23+

2 Disable Prevents the user from setting the device as discoverable by other Bluetooth devices.

MX: 6.1+

Android API: 23+

Pairing Enable/Disable

Controls whether the device will be permitted to pair with newly discovered Bluetooth peripherals that come into range or only with known ("trusted") peripherals. The settings of this parameter do not effect existing device pairings.

Note: For Zebra Professional-series devices, this feature requires purchase of a Mobility DNA Enterprise License. See techdocs.zebra.com/licensing.

Parm Name: AllowPairing

Option Name Description Note Requires
0 Do not change This value (or the absence of this parm from the XML) causes no change to device settings; any previously selected setting is retained.

MX: 5.1+

Android API: 22+

1 Enable Enables the device to pair with newly discovered Bluetooth peripherals.

MX: 5.1+

Android API: 22+

2 Disable Disables pairing with newly discovered Bluetooth peripherals.

MX: 5.1+

Android API: 22+

3 Pair only trusted devices Allows the device to pair ONLY with known Bluetooth peripherals.

MX: 10.2+

Android API: 27+

Silent Pairing Enable/Disable

Controls whether the device will be permitted to pair with remote Bluetooth devices without requiring user confirmation. This feature is not the same as auto-pairing; it simply removes the confirmation step after device pairing has been initiated by the device user. The settings of this parameter do not effect existing device pairings.

By default, Silent Pairing Rules are in place to allow some Zebra device models to pair without user confirmation (after pairing is initiated by the user). Note: Default pairing rules for the devices listed below match by device Name only. For improved security, Zebra recommends that default rules be replaced with rules matching by device Name, Upper Address Part and/or, if supported, Remote Device PIN and/or Remote Device MAC.

  • DS2278
  • DS3578
  • DS3678
  • DS8178
  • DX30
  • HS3100
  • LI3678
  • PAR-TMD
  • RS507
  • RS5100*
  • RS6000

*Silent pairing with the RS5100 is supported on SDM660-platform devices running Android 8.x Oreo (and later) and 8956-platform devices with the Android 7.x N (or later) LifeGuard patch.

Note: For Zebra Professional-series devices, this feature requires purchase of a Mobility DNA Enterprise License. See techdocs.zebra.com/licensing.

Parm Name: AllowSilentPairing

Option Name Description Note Requires
0 Do not change This value (or the absence of this parm from the XML) causes no change to device settings; any previously selected setting is retained.

MX: 7.0+

Android API: 24+

1 Enable Enables the device to pair with known devices without user confirmation.

MX: 7.0+

Android API: 24+

2 Disable Disables silent pairing with Bluetooth devices; requires confirmation for pairing.

MX: 7.0+

Android API: 24+

Single Pairing Enable/Disable

Controls whether the device is permitted to pair freely with other devices or if pairing is limited to a single peripheral type at a time.

Note: For Zebra Professional-series devices, this feature requires purchase of a Mobility DNA Enterprise License. See techdocs.zebra.com/licensing.

Parm Name: SinglePairing

Option Name Description Note Requires
0 Do not change This value (or the absence of this parm from the XML) causes no change to device settings; any previously selected setting is retained.

MX: 10.2+

Android API: 27+

1 Enable Enables the device to pair only with a single peripheral of a certain category at a time.

MX: 10.2+

Android API: 27+

2 Disable Disables pairing restrictions, allowing the device to pair with multiple peripherals of different types.

MX: 10.2+

Android API: 27+

Remote Device Action

Used to administer the list of Silent Pairing Rules on the device during the pairing process for the following features:

  • Trusted Device List
  • Silent Pairing
  • Single Pairing

Note: Known as 'Silent Pairing Action' prior to MX 10.2. For Zebra Professional-series devices, this feature requires purchase of a Mobility DNA Enterprise License. See techdocs.zebra.com/licensing.

Parm Name: SilentPairingAction

Option Name Description Note Requires
0 Do nothing This value (or the absence of this parm from the XML) causes no change to device settings; any previously selected setting is retained.

MX: 7.0+

Android API: 24+

1 Add/Replace Remote Device Rule Adds a rule to the list that applies to the remote device.

MX: 7.0+

Android API: 24+

2 Remove Remote Device Rule Removes the specified rule.

MX: 7.0+

Android API: 24+

3 Remove all Remote Device Rules Clears the list of devices previously specified rules for Silent Pairing, including the default rules.

MX: 7.0+

Android API: 24+

Mandatory Identifier

Controls which Bluetooth parameter is used as the Mandatory Identifier for the device. Rules based on MAC address are generally intended for individual peripherals. Rules based on device name and upper address part (UAP) are meant for peripheral categories such as headsets, printers and scanners.

See the Examples section for usage examples of this parameter.

Note: On devices running versions prior to Android 9 Pie, only the Bluetooth device name can be used.

Shown if: Silent Pairing Action is "Add Remote Device Rule" OR "Remove Remote Device Rule"

Parm Name: MandatoryIdentifier

Option Name Description Note Requires
0 Bluetooth MAC Address Uses the Bluetooth MAC address as the device mandatory identifier.

MX: 9.3+

Android API: 27+

1 Bluetooth Device Name Uses the Bluetooth device name as the device mandatory identifier.

MX: 9.3+

Android API: 27+

Device Name

Used to enter the name of a Bluetooth device with which to allow device pairing without requiring user confirmation. Only the Name field is required to create a Silent Pairing Rule. Optionally, device Name can be combined with Class of Device and/or Upper Address Part (UAP) of the device's MAC address to create Silent Pairing Rules with more specificity than using the device Name alone.

Input value rules:

  • String from 1-255 characters containing Bluetooth device name. For example: "Zebra Printer_01"

Shown if: Mandatory Identifier is "Bluetooth Device Name" AND Silent Pairing Action is "Add/Replace Remote Device Rule" OR "Remove Remote Device Rule"

Parm Name: SilentPairingName

Requires:

  • MX: 7.0+
  • Android API: 24+

UAP of BT Address

Used to enter the Upper Address Part (UAP) of the remote Bluetooth device's MAC address with which to allow the target device to pair without requiring user confirmation. The UAP is generally the first three bytes of the Bluetooth MAC address. Can be combined with Silent Pairing Name and (optionally) a Class of Device (CoD) to create a complete Silent Pairing Rule.

Use the Zebra Bluetooth Settings app to expose UAP and other Bluetooth device information.

Input value rules:

  • A hexadecimal string representing the first three (3) bytes of the Bluetooth MAC address. For example: "0A:1B:2C"

Shown if: Mandatory Identifier is "Bluetooth Device Name" AND Silent Pairing Action is "Add/Replace Remote Device Rule" OR "Remove Remote Device Rule"

Parm Name: SilentPairingUAP

Requires:

  • MX: 7.0+
  • Android API: 24+

Bluetooth MAC Address

Used to enter the Bluetooth MAC address for identifying the device. NOTE: Only the MAC address is required to create a Silent Pairing Rule.

Input value rules:

  • String of exactly 17 characters in the format: "XX:XX:XX:XX:XX:XX"

Shown if: Mandatory Identifier is "Bluetooth MAC Address" AND Silent Pairing Action is "Add/Replace Remote Device Rule" OR "Remove Remote Device Rule"

Parm Name: RemoteDeviceMAC

Requires:

  • MX: 9.3+
  • Android API: 28+

Trusted Device Rule (checkbox)

Controls whether the rule allows a device to pair only with devices designated as "trusted" by the AllowPairing parameter.

Shown if: Silent Pairing Action is set to "Enable"

Parm Name: IsTrustedDeviceRule

Option Name Description Note Requires
0 (unchecked) Sets the rule to allow the device to pair with any Bluetooth peripheral regardless of its "trusted" status.

MX: 10.2+

1 (checked) Sets the rule to allow the device to pair ONLY with Bluetooth peripherals designated as "trusted" using the AllowPairing parameter.

MX: 10.2+

Silent Pairing Rule (checkbox)

Controls whether the rule initiates silent pairing, which allows a device to pair with a Bluetooth peripheral without the need for user interaction.

Shown if: Silent Pairing Action is set to "Enable"

Parm Name: IsSilentPairingRule

Option Name Description Note Requires
0 (unchecked) Sets the rule to require interaction with the device user when pairing with a Bluetooth peripheral.

MX: 10.2+

1 (checked) Sets the rule to allow the device to pair with Bluetooth peripherals without device-user interaction.

MX: 10.2+

Pairing PIN Code

Used to enter a PIN for the remote device. Zebra recommends setting a PIN of at least four (4) digits for optimum security.

Input value rules

  • String from 1-16 numerals

Shown if: Is Single Pairing Rule is "checked" AND Silent Pairing Action is "Add/Replace Remote Device Rule"

Parm Name: RemoteDevicePIN

Requires:

  • MX: 9.3+
  • Android API: 28+

Single Pairing Rule (checkbox)

Controls whether the rule allows a device to pair with only one device of a particular single-pairing category as set by the SinglePairingCategory parameter.

Shown if: Silent Pairing Action is set to "Enable"

Parm Name: IsSinglePairingRule

Option Name Description Note Requires
0 (unchecked) Sets the rule to allow the device to pair with all devices regardless of their pairing category.

MX: 10.2+

1 (checked) Allows the device to pair ONLY with devices of a particular single-pairing category.

MX: 10.2+

Pairing Category

Used to select a category for a single pairing rule, allowing the device to pair with one Bluetooth peripheral of a particular type.

Shown if: Is Single Pairing Rule is "checked" AND Silent Pairing Action is "Add/Replace Remote Device Rule"

Parm Name: SinglePairingCategory

Option Name Description Note Requires
1 Headset Sets the rule to allow the device to pair with a Bluetooth headset.

MX: 10.2+

2 Scanner Sets the rule to allow the device to pair with a Bluetooth scanner.

MX: 10.2+

3 Printer Sets the rule to allow the device to pair with a Bluetooth printer.

MX: 10.2+

4 Payment Sets the rule to allow the device to pair with a Bluetooth payment device.

MX: 10.2+

5 Dex Sets the rule to allow the device to pair with a Bluetooth DEX communication peripheral.

MX: 10.2+

6 Custom_1 Reserved for future or custom use.

MX: 10.2+

7 Custom_2 Reserved for future or custom use.

MX: 10.2+

8 Custom_3 Reserved for future or custom use.

MX: 10.2+

9 Custom_4 Reserved for future or custom use.

MX: 10.2+

10 Custom_5 Reserved for future or custom use.

MX: 10.2+

Paired Device Action

Used to select an action to perform relating to information on the device about Bluetooth peripherals previously paired with the device.

Note: Not supported on devices running Android 9.x (Pie).

Parm Name: PairedDeviceAction

Option Name Description Note Requires
0 Do nothing This value (or the absence of this parm from the XML) causes no change to device settings; any previously selected setting is retained.

MX: 10.3+

Android API: 27+

1 Clear All Paired Devices Erases all information on the device relating to Bluetooth peripherals previously paired with the device.

MX: 10.3+

Android API: 27+

Examples

Set Rule with Mandatory Identifier Bluetooth MAC

Add a silent pairing rule with a PIN when the Mandatory Identifier is Bluetooth MAC address:


<wap-provisioningdoc>
    <characteristic type="BluetoothMgr" version="10.0" >
        <parm name="AllowPairing" value="1"/>
        <parm name="AllowDiscoverability" value="1"/>
        <parm name="AllowSilentPairing" value="1"/>
        <parm name="SilentPairingAction" value="1"/>
        <parm name="MandatoryIdentifier" value="0"/>
    <characteristic type="SilentPairingDeviceDetails">
        <parm name="RemoteDeviceMAC" value="12:AB:34:CD:56:EF"/>
        <parm name="RemoteDevicePIN" value="12345"/>
    </characteristic>
    </characteristic>
</wap-provisioningdoc>

Set Rule with Mandatory Identifier Name

Add a silent pairing rule with a PIN when the Mandatory Identifier is Name:


<wap-provisioningdoc>
    <characteristic type="BluetoothMgr" version="10.0" >
        <parm name="AllowPairing" value="1"/>
        <parm name="AllowDiscoverability" value="1"/>
        <parm name="AllowSilentPairing" value="1"/>
        <parm name="SilentPairingAction" value="1"/>
        <parm name="MandatoryIdentifier" value="1"/>
    <characteristic type="SilentPairingDeviceDetails">
        <parm name="SilentPairingName" value="ZQ320"/>
        <parm name="RemoteDevicePIN" value="0000"/>
    </characteristic>
    </characteristic>
</wap-provisioningdoc>

Allow New Pairing

Input


<wap-provisioningdoc>
    <characteristic type="BluetoothMgr" version="5.0">
        <parm name="AllowPairing" value="1"/>
    </characteristic>
</wap-provisioningdoc>

Output


<wap-provisioningdoc>
    <characteristic type="BluetoothMgr" version="5.0">
        <parm name="AllowPairing" value="1"/>
    </characteristic>
</wap-provisioningdoc>

If the operation was successful, the Result XML (output) will be identical to the input XML, as above.

Prevent New Pairing

Input


<wap-provisioningdoc>
    <characteristic type="BluetoothMgr" version="5.0">
        <parm name="AllowPairing" value="2"/>
    </characteristic>
</wap-provisioningdoc>

Output


<wap-provisioningdoc>
    <characteristic type="BluetoothMgr" version="5.0">
        <parm name="AllowPairing" value="2"/>
    </characteristic>
</wap-provisioningdoc>

If the operation was successful, the Result XML (output) will be identical to the input XML, as above.

Query Silent Pairing State

Input


<wap-provisioningdoc>
<characteristic type="BluetoothMgr">
    <parm-query name="AllowSilentPairing"/>
</characteristic>
</wap-provisioningdoc>

Output (Allow Silent Pairing = "1" and is Enabled)


<wap-provisioningdoc>
    <characteristic type="BluetoothMgr" version="7.1">
        <parm name="AllowSilentPairing" value="1"/>
    </characteristic>
</wap-provisioningdoc>

Set Silent Pairing Rule with Name, CoD, UAP

    
    <wap-provisioningdoc>
        <characteristic type="BluetoothMgr" version="7.0" >
            <parm name="AllowPairing" value="1"/>
            <parm name="AllowDiscoverability" value="1"/>
            <parm name="AllowSilentPairing" value="1"/>
            <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="TC51"/>
            <parm name="SilentPairingCoD" value="524"/>
            <parm name="SilentPairingUAP" value="40:83:DE"/>
        </characteristic>
        </characteristic>
    </wap-provisioningdoc>

Remove all devices from Silent Pairing Rules list

    
    <wap-provisioningdoc>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="3"/>
    </characteristic>
    </wap-provisioningdoc>

Restore default rules to Silent Pairing Rules list

    
    <wap-provisioningdoc>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="DS3578"/>
        </characteristic>
    </characteristic>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="DS3678"/>
        </characteristic>
    </characteristic>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="RS6000"/>
        </characteristic>
    </characteristic>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="RS507"/>
        </characteristic>
    </characteristic>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="HS3100"/>
        </characteristic>
    </characteristic>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="DX30"/>
        </characteristic>
    </characteristic>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="PAR-TMD"/>
        </characteristic>
    </characteristic>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="DS8178"/>
        </characteristic>
    </characteristic>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="LI3678"/>
        </characteristic>
    </characteristic>
    <characteristic type="BluetoothMgr">
        <parm name="SilentPairingAction" value="1"/>
        <characteristic type="SilentPairingDeviceDetails">
            <parm name="SilentPairingName" value="DS2278"/>
        </characteristic>
    </characteristic>
    </wap-provisioningdoc>