Bluetooth Manager

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

EMDK For Xamarin - 5.0

Overview

The Bluetooth Manager (BluetoothMgr) controls whether a device can pair with other Bluetooth devices such as headsets, printers and computers 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.

Main Functionality

  • Enable/Disable
    • Bluetooth Pairing
    • Bluetooth Discoverability
    • Silent Pairing (no user confirmation)
    • Mandatory Identifier
  • Create Silent Pairing Rules
  • Use Bluetooth MAC address as a mandatory identifier
  • Set a PIN for a remote device

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.

Parm Name: AllowDiscoverability

Option Name Description Note Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to the device's ability to be discoverable by other Bluetooth devices; any previously selected setting will be 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 devices that come into range. The settings of this parameter do not effect existing device pairings.

Parm Name: AllowPairing

Option Name Description Note Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to the device's ability to pair with discovered Bluetooth devices; any previously selected setting will be retained.

MX: 5.1+

Android API: 22+

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

MX: 5.1+

Android API: 22+

2 Disable Disables pairing with newly discovered Bluetooth devices.

MX: 5.1+

Android API: 22+

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.

Parm Name: AllowSilentPairing

Option Name Description Note Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to the device's ability to pair with discovered Bluetooth devices; any previously selected setting will be 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+

Silent Pairing Action

Used to administer the list of Silent Pairing Rules on the device. 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: Pairing rules for the default device list (below) matches by device name only. For improved security, Zebra recommends that default rules be replaced with rules matching by device Name, Class of Device and Upper Address Part.

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

Shown if: Allow Pairing and Allow Silent Pairing are BOTH set to "Enable"

Parm Name: SilentPairingAction

Option Name Description Note Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to the device's ability to pair with discovered Bluetooth devices; any previously selected setting will be retained.

MX: 7.0+

Android API: 24+

1 Add 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+

Silent Pairing 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: Allow Pairing and Allow Silent Pairing are BOTH set to "Enable"

Parm Name: SilentPairingName

Requires:

  • MX: 7.0+
  • Android API: 24+

Silent Pairing Class of Device

Used to enter the Class of Device (CoD) of a Bluetooth device with which to allow device pairing without requiring user confirmation. Once a Bluetooth device is discovered, its Class can be seen in the Bluetooth Settings activity. Can be combined with Silent Pairing Name and (optionally) the Upper Address Part (UAP) of the device's MAC address to create a Silent Pairing Rule.

Input value rules:

  • String representing the Bluetooth Class of Device. For example: "002900"

For more information:

Shown if: Allow Pairing and Allow Silent Pairing are BOTH set to "Enable"

Parm Name: SilentPairingCoD

Requires:

  • MX: 7.0+
  • Android API: 24+

Silent Pairing UAP

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. Once a Bluetooth device is discovered, its UAP can be seen in the Bluetooth Settings activity. Can be combined with Silent Pairing Name and (optionally) a Class of Device to create a complete Silent Pairing Rule.

Input value rules:

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

Shown if: Allow Pairing and Allow Silent Pairing are BOTH set to "Enable"

Parm Name: SilentPairingUAP

Requires:

  • MX: 7.0+
  • Android API: 24+

Mandatory Identifier

Controls which Bluetooth parameter is used as the mandatory identifier for the device.

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: 28+

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

MX: 9.3+

Remote Device MAC

Used to enter the Bluetooth MAC address for identifying the device.

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"

Parm Name: RemoteDeviceMAC

Requires:

  • MX: 9.3+
  • Android API: 28+

Remote Device PIN

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

Input value rules

  • String from 1-16 numerals

Parm Name: RemoteDevicePIN

Requires:

  • MX: 9.3+
  • Android API: 28+

Examples

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.

Disallow 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.

Query the state of Silent Pairing on the device

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>

Create a Silent Pairing Rule with Name, CoD and 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 the Silent Pairing Rules list

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

Restore default rules to the 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>