Power Manager

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

EMDK For Android - 6.8

Overview

The Power Manager (PowerMgr) allows an app to perform certain OS- and power-related actions on the device. These include rebooting or performing an OS update, resetting the device to a factory-fresh state or putting the device into Sleep mode. On some devices, such as the VC80x vehicle-mounted computer and similarly equipped Zebra devices, PowerMgr also can control device heaters and perform actions based on ignition status of vehicle-mounted computers and similarly equipped Zebra devices. PowerMgr performs only actions; it currently supports no queries other than to determine the version of the CSP that implements PowerMgr itself.

It's important to note that PowerMgr actions such as Reboot and Reset, once executed, prevent the execution of subsequent actions submitted by the Request XML document, including the submission of a Result XML to the application sending the original Request. Zebra therefore recommends using Condition Manager in conjunction with PowerMgr to ensure that appropriate conditions exist on a device before attempting to perform "risky" operations such as OS updates, the failure of which can render a device unusable, severely limited or otherwise in need of service.

Main Functionality

  • Reboot a device
  • Update, upgrade or downgrade the OS on a device
  • Supress reboot following an OS upgrade or downgrade
  • Put a device into Sleep Mode
  • Perform an Enterprise Reset on a device
  • Bypass the setup wizard (GMS Welcome Screen)
  • Perform a Factory Reset on a device
  • Wipe a device (erase all storage)
  • Verify an OS update
  • Perform multiple updates in a single step
  • Enable/disable Doze Mode
  • Enable/disable Wake-up Sources
  • On the VC80x vehicle-mounted computer and similarly equipped Zebra devices:
    • Turn power to specific serial and USB ports on and off
    • Control heaters for touch panel and battery, and on serial and USB ports
    • Set temperature thresholds (in degrees Celsius) for turning heaters on and off
    • Set the device to automatically turn on and/or off with the vehicle-mounted computer and similarly equipped Zebra devices ignition switch
    • Set a delay (in minutes) for device auto-off

Sleep Mode

On Android devices, Sleep mode turns off the device display screen and places some subsystems into low-power states. Depending on device configuration settings, certain apps and/or subsystems such as Wi-Fi and Cellular might remain active.

Reboot

Rebooting an Android device generally causes only volatile information such as application state and transient data to be lost. Non-volatile data such as device settings and stored apps and data are preserved. A Reboot is sometimes referred to as a "Reset" or "Normal Reset," but is not to be confused with an Enterprise Reset or Factory Reset (explained below).

Note: The Reboot Action causes the device to immediately restart, preventing any subsequent Actions from executing, including the submission of a Result XML to the application sending the original request.

Enterprise Reset

Enterprise Reset is intended to return the device to an enterprise-defined default state, generally as determined by the contents of the /enterprise partition. On Zebra Android devices, an Enterprise Reset is the same as a Factory Reset except that the /enterprise partition is preserved. This action is supported only on Zebra devices running Android 4.4 KitKat and higher. On Zebra Android devices running Android Jelly Bean or lower, the same action could be performed using the "OS Update" action if a suitable OS Update .zip file was used.

Note: This Action causes the device to Reboot (into Recovery Mode), preventing any subsequent Actions from executing, including the submission of a Result XML to the application sending the original request.

Factory Reset

The Factory Reset is intended to return the device to its factory-fresh condition with the exception of certain conditions related to its internal storage card(s) (see below). On Zebra Android devices, a Factory Reset erases all key partitions and storage cards containing /data, /cache, and /enterprise partitions. This action is supported only on Zebra devices running Android 4.4 KitKat and higher. On Zebra Android devices running Android Jelly Bean or lower, the same action could be performed using the "OS Update" Action if a suitable OS Update .zip file was used.

Note: This Action causes the device to Reboot (into Recovery Mode), preventing any subsequent Actions from executing, including the submission of a Result XML to the application sending the original request.

Resetting Storage Cards

A Factory Reset will erase a storage card if:

  • The card was implemented within the /data or /enterprise partitions

A Factory Reset will NOT erase a storage card if:

  • The card was implemented with its own dedicated partition
  • The card is physically removable

Full Device Wipe

The Full Device Wipe is intended to return the device to its condition as it would have shipped from the factory with its current OS plus any subsequent OS update(s). On Zebra Android devices, a Full Device Wipe is the same as a Factory Reset plus the unconditional erasure of all storage cards. This action is supported only on Zebra devices running Android 4.4 KitKat and higher. On Zebra Android devices running Android Jelly Bean or lower, the same action could be performed using the "OS Update" Action if a suitable OS Update .zip file was used.

Note: This Action causes the device to Reboot (into Recovery Mode), preventing any subsequent Actions from executing, including the submission of a Result XML to the application sending the original request.

OS Update

The OS Update allows the device operating system to be replaced or patched using a specified OS Update Zip File or a text file containing a list of OS updates and/or patches. Depending on the contents of the file(s), this process also can be used to perform an OS Downgrade (on devices some), Enterprise Reset, Factory Reset or Full Device Wipe to facilitate the installation of the update or patch contained in the file(s).

Devices running Android 7.x Nougat and below support OS Update only. Devices with Android 8.x Oreo and later support Upgrade and Downgrade Actions and the Supress Reboot parameter.

Notes:

  • The OS Update Action causes the device to Reboot (into Recovery Mode), which prevents execution of any subsequent Actions, including the submission of a Result XML to the application sending the original request.
  • OS Update can be used to upgrade or downgrade Android 7.x Nougat and older.
  • On devices running Android 8.x Oreo or later, the OS Update Action can only upgrade.

Reset Action

Used to invoke an OS- or power-related action on the device. Read Overview section carefully for important information and device restrictions related to the use of Reset and OS Update Actions.

Note: Upload list (.upl) files are not supported on TC70/TC75 devices running Android KK

Parm Name: ResetAction

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

MX: 4.2+

1 Sleep Mode Puts the device into Sleep mode, reducing power usage and some app functions. See Overview for more information.

MX: 4.1+

4 Reboot Reboots the operating system on the device, resetting volatile memory and terminating execution of any subsequent PowerMgr actions (non-volatile settings and storage are preserved).

MX: 4.2+

Android API: 16+

5 Enterprise Reset Performs an Enterprise Reset, returning the device to an enterprise-defined default state as generally determined by the contents of the /enterprise partition. See Overview for more information.

OSX: 4.2+

MX: 4.2+

Android API: 19+

6 Factory Reset Performs a Factory Reset, erasing all data partitions, including /data, /cache and /enterprise, and some storage cards. See Overview for more information.

OSX: 4.2+

MX: 4.2+

Android API: 19+

7 Full Device Wipe Erases all data on the device and storage cards, if any. See Overview for more information.

OSX: 4.2+

MX: 4.2+

Android API: 19+

8 OS Update Launches an OS upgrade or downgrade on devices using the specified OS Update Zip file. Restrictions apply to devices running Android 8.x Oreo and later. See Overview for more information.

MX: 4.1+

Android API: 16+

9 Verify OS Update Verifies the proper installation of an OS update on devices running Android 8.x Oreo and later.

MX: 8.1+

Android API: 26+

10 OS Upgrade Launches an OS Upgrade on devices running Android 8.x Oreo and later. See Overview for more information.

MX: 8.1+

Android API: 26+

11 OS Downgrade Launches an OS Downgrade on devices running Android 8.x Oreo and later. See Overview for more information.

MX: 8.1+

Android API: 26+

OS Update File

Used to specify the path and filename of the file to be consumed when updating the device using a supported Action. The OS Update file must be the specific .zip file being applied, or a text file (with .upl extension) containing a list of patches (multiple .zip files) to be applied in the desired order from top to bottom as listed in the file.

For example, if the .zip files M99N0KXXVPUCP14500.zip and CFE-M99-L-N0-010101_G_00_02.zip are to be applied in that order, the OS Update text file should be created as follows:


//Contents of the "osupdate.upl" text file:

package:M99N0KXXVPUCP14500.zip
package:CFE-M99-L-N0-010101_G_00_02.zip

// Note the package files are preceded by the notation "package:" 

Update File Rules

  • Zebra recommends matching case when specifying file names to avoid case-sensitivity errors on some devices.
  • Required file(s) must be on the device before the Reset Action is initiated.
  • The .upl file and all referenced .zip files must be in the same device folder.
  • The folder used for storing file(s) must be a supported location according to the Android Location/Device Location Rules below.
  • Location rules and characteristics vary by device.
  • The following devices do not support .upl files:
    • TC70 KitKat
    • TC75 KitKat

Android Location Rules

  • Update file location must not be blocked by SdCardMgr or any other means.
  • Removable media must be physically present. Storage partitions implemented on a removable medium such as a Micro SD Card must be inserted in the device when the Reset Action is initiated.
  • The location must not be encrypted. A location that is encrypted cannot be used for OS Updates. For example, if Full Storage Card Encryption is enabled for a particular Storage Card, that card contains no suitable locations for OS Updates. Similarly, if an Encrypted File System was mounted on a Storage Card, that card also would be unsuitable for OS Updates.
  • The update entity must have write permissions in the update file location.
  • Emulated Storage Cards are not supported on Jelly Bean. Devices running KitKat and higher are not effected by this limitation.
  • Adoptable Storage is not supported. Zebra devices by default do not implement the Android Adoptable Storage spec, which formats the SD Card for use with a single device. An Adoptable SD Card cannot be used to store update files.

Note: The path specified using this parameter would normally be the same as the path to which the file was written when it was transferred to the device. However, path names can sometimes appear to be different while ending at the same destination, and it's possible that some such paths will fail to initiate an OS Update when specified using this parameter. Therefore, Zebra recommends using paths in the following table when specifying the OS Update file to the PowerMgr.

Device Location Rules

Device Model Android Version(s) Supported Paths Comment
ET1N0 JB 4.1-4.3.1 /sdcard

/data/tmp

Removable Micro SD Card (must be physically present)

Internal Data Partition (folder exists and is world-writable)

ET1N2 JB 4.1-4.3.1 /sdcard

/data/tmp

Removable Micro SD Card (must be physically present)

Internal Data Partition (folder exists and is world-writable)

MC32 JB 4.1-4.3.1 /sdcard

/data/tmp

Removable Micro SD Card (must be physically present)

Internal Data Partition (folder exists and is world-writable)

MC40 JB 4.1-4.3.1 /sdcard

/data/tmp

Internal Storage Card

Internal Data Partition (folder exists and is world-writable)

MC40 KK 4.4 /sdcard

/storage/sdcard0

Internal Storage Card

Internal Storage Card

MC67 JB 4.1-4.3.1 /sdcard

/data/tmp

Removable Micro SD Card (must be physically present)

Internal Data Partition (folder exists and is world-writable)

TC55 KK w/GMS 4.4 /sdcard

/storage/sdcard0

/storage/sdcard1

Internal Storage Card

Internal Storage Card

Removable Micro SD Card (must be physically present)

TC55 KK 4.4 /sdcard

/storage/sdcard0

/storage/sdcard1

Internal Storage Card

Internal Storage Card

Removable Micro SD Card (must be physically present)

TC70 GA1 KK 4.4 /sdcard

/storage/sdcard0

/storage/sdcard1

/data/tmp

Removable Micro SD Card (must be physically present)

Removable Micro SD Card (must be physically present)

Internal Storage Card

Internal Data Partition (folder exists and is world-writable)

TC75 KK 4.4 /sdcard

/storage/sdcard0

/data/tmp

Internal Storage Card

Internal Storage Card

Internal Data Partition (folder exists and is world-writable)

(multiple)

Lollipop and higher

/data/tmp/public Zebra recommends using this path; it will be supported on all devices running Android 5.0 Lollipop and higher. See note below.


Note: Zebra devices running Android Lollipop and Marshmallow might support update-file locations other than the location recommended in the table above. Other supported locations might include:

  • /storage/sdcard0 (internal)
  • /storage/sdcard1 (external)

However, support of such locations is subject to changes that are beyond Zebra's control. Zebra recommends testing any update procedure on a working device before the process is considered for mass deployment.

Parm value input rules:

  • String from 1–255 characters containing full path and file name of OS Update .zip or .upl file

Note: Upload list (.upl) files are not supported on TC70/TC75 devices running Android KK

Shown if: The Reset Action is "OS Update" or "OS Upgrade" or "OS Downgrade"

Parm Name: ZipFile

Requires:

  • MX: 4.1+
  • Android API: 16+

Supress Reboot

Controls whether the device reboots following an OS Upgrade or Downgrade Action on a device running Android 8.x Oreo or later.

Note: Supported only on devices running Android 8.x Oreo and later.

Shown if: The Reset Action is "OS Upgrade"

Parm Name: SuppressReboot

Option Name Description Note Requires
0 Do Nothing This value (or the absence of this parm from the XML) causes no action on the device; the default value is used.

MX: 8.1+

1 true Prevents the device from rebooting following an OS Upgrade Action.

MX: 8.1+

2 false Allows the device to reboot following an OS Upgrade Action.

MX: 8.1+

Setup Wizard Bypass

Controls whether to bypass the "Android device setup wizard" (also known as the "Welcome Screen") and the Zebra Setup Wizard (with Analytics data collection agent opt-out) following an Enterprise Reset initiated through PowerMgr. Applies only on devices with Google Mobile Services (GMS) and only when Enterprise Reset is initiated by PowerMgr.

Important: The bypass setting does not persist on the device following an Enterprise Reset. If SUW bypass is desired following an Enterprise Reset, this parameter must be included and set to "true" in the same Profile that is used to initiate the Enterprise Reset. The bypass flag was intended to be available as an option ONLY when Enterprise Reset is selected. However, MX 7.1 and 7.2 allow SUW bypass to be configurable regardless of the Enterprise Reset parameter setting. Once pushed to such devices, a bypass flag value of "true" will persist until an Enterprise Reset is executed or the flag is changed to "false" by a subsequent profile.

Note: Once running, the setup wizard can be exited on some devices by scanning a barcode. More info.

Shown if: The Reset Action is "Enterprise Reset"

Parm Name: SUWByPass

Option Name Description Note Requires
0 Do Nothing This value (or the absence of this parm from the XML) causes no action on the device; the default value is used.

MX: 7.1+

1 true Causes the Android and Zebra device setup wizards to be skipped following an Enterprise Reset initiated through PowerMgr.

MX: 7.1+

2 false Allows Android and Zebra setup wizards to be performed following an Enterprise Reset initiated through PowerMgr (default).

MX: 7.1+

Update Verification File

Used to specify the path and filename of the manifest in the device file system to be used to verify an OS update. The manifest is an XML file delivered in the OS update .zip file. The "Verify OS Update" Reset Action compares settings specified in the manifest with those on the device to confirm OS- and hardware-level device compatibility requirements before allowing an OS update procedure to continue. Supported only on devices running Android 8.x Oreo and later. See sample manifest.

Parm value input rules:

  • String from 1–255 characters containing a full path and file name

Note: Supported only on devices running Android 8.x Oreo and later.

Shown if: The Reset Action is "OS Update" or "OS Upgrade" or "OS Downgrade"

Parm Name: OsupdateVerifyFile

Requires:

  • MX: 8.1+
  • Android API: 26+

Port Action

Used to specify an action to perform on the selected port. Turning off power when not needed for a port can help reduce pin corrosion. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm Name: PortAction

Option Name Description Note Requires
0 Do Nothing This value (or the absence of this parm from the XML) will cause no action to be performed on the device; any previously selected setting will be retained.

MX: 7.1+

1 Turn Output Power On Applies power to the selected port.

MX: 7.1+

2 Turn Output Power Off Removes power from the selected port.

MX: 7.1+

Port Selection

Used to select a port upon which to perform an action using the Port Action parameter, such as turning power on or off. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Shown if: The Port Action is not "Do Nothing"

Parm Name: PortSelect

Option Name Description Note Requires
1 Serial Port 1 Selects Serial Port 1 for the specified Action.

MX: 7.1+

2 Serial Port 2 Selects Serial Port 2 for the specified Action.

MX: 7.1+

3 USB Port 2 Selects USB Port 2 for the specified Action.

MX: 7.1+

Heater Action

This is the On/Off switch for performing actions on the device heater(s), including the ability to set temperature thresholds using the relevant Threshold parameters. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm Name: HeaterAction

Option Name Description Note Requires
0 Do Nothing This value (or the absence of this parm from the XML) will cause no action to be performed on the device; any previously selected setting will be retained.

MX: 7.1+

1 Enable Enables the selected heater.

MX: 7.1+

2 Disable Disables the selected heater.

MX: 7.1+

3 Set ON/OFF Thresholds Enables temperature thresholds to be set for the selected heater.

MX: 7.1+

Heater Selection

Used to specify the device heater upon which to perform an action using the Heater Action parameter. Device heaters are used to compensate for external temperatures and humidity levels, to help maintain proper device operation, prevent screen and/or internal frost or condensation, and to keep the device battery at optimal temperature. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm Name: HeaterSelect

Option Name Description Note Requires
1 Serial IO Selects the heater connected to a serial port.

MX: 7.1+

2 USB IO Selects the heater connected to the USB port.

MX: 7.1+

3 Battery Selects the battery heater.

MX: 7.1+

4 Touch Panel Selects the touch-panel heater.

MX: 7.1+

Heater-On Threshold

Used to specify the temperature (in degrees Celsius) at which the device heater should turn on. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm value input rules:

  • Integer value from -30 to 50

Shown if: The Heater Action is "Set ON/OFF Thresholds"

Parm Name: OnThreshold

Requires:

  • MX: 7.1+

Heater-Off Threshold

Used to specify the temperature (in degrees Celsius) at which the device heater should turn off. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm value input rules:

  • Integer value from -30 to 50

Shown if: The Heater Action is "Set ON/OFF Thresholds"

Parm Name: OffThreshold

Requires:

  • MX: 7.1+

Auto Power Control (checkbox)

Indicates whether automatic power controls will be configured. When enabled (value=1), settings configured in Auto-power parameters will be used. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm value input rules:

  • Integer value

Parm Name: AutoPowerControl

Requires:

  • MX: 7.1+

Auto Power-on

Used to control whether the device will power up when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned on. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Shown if: The Auto-Power Control is "Checked"

Parm Name: AutoPowerOn

Option Name Description Note Requires
0 Never Does not power up device when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned on.

MX: 7.1+

1 When Ignition Turned On Powers up device when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned on.

MX: 7.1+

Auto Power-off

Used to control whether the device will power down when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned off. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Shown if: The Auto-Power Control is "Checked"

Parm Name: AutoPowerOff

Option Name Description Note Requires
0 Never Does not power down device when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned off.

MX: 7.1+

1 When Ignition Turned Off Powers down device when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned off.

MX: 7.1+

Auto Power-off Timeout

Used to specify the time (in minutes) before the device will shut down after vehicle-mounted computer and similarly equipped Zebra devices ignition is turned off. Default value is 30 minutes. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm value input rules:

  • Integer value from 0-60 minutes (0=none)
  • If no value is entered, default value of 30 (minutes) will be used

Shown if: The Auto Power Control is "Checked" and Auto Power-off Action is "When Ignition Turned Off"

Parm Name: AutoPowerOffTimeout

Requires:

  • MX: 7.1+

Wake-up Sources Enable/Disable

Used to control the button-presses that wake the device from suspend mode. Supported devices by default wake only when the power button is pressed. Enabling this paramater (option 1) adds the push-to-talk (PTT) button (on the left side of the device) and scan buttons as wake-up sources.

Note: Supported on TC20/TC25 devices only.

Parm Name: WakeUpSources

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

OSX: 7.7+

MX: 8.0+

1 Enable Enables power, PTT and scan buttons to wake the device from suspend mode.

OSX: 7.7+

MX: 8.0+

2 Disable Allows only the power button to wake the device from suspend mode.

OSX: 7.7+

MX: 8.0+

Doze Mode Enable/Disable

This is the On/Off switch for Doze Mode energy saving features on the device. When Doze Mode is enabled, only apps specifically added to the "exemption whitelist" can prevent the device from entering this low-power state. Apps are added to the exemption whitelist using the App Manager CSP.

Parm Name: DozeModeUsage

Option Name Description Note Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no action to be performed on the device; any previously selected setting will be retained.

OSX: 7.3+

MX: 7.2+

1 Enable Enables Doze Mode energy saving features on the device.

OSX: 7.3+

MX: 7.2+

2 Disable Disables Doze Mode energy saving features on the device.

OSX: 7.3+

MX: 7.2+

Examples

Reboot Device


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="4"/>
    </characteristic>
</wap-provisioningdoc>

Perform Enterprise Reset


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="5"/>
    </characteristic>
</wap-provisioningdoc>

Perform Factory Reset


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="6"/>
    </characteristic>
</wap-provisioningdoc>

Perform Full Device Wipe


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="7"/>
    </characteristic>
</wap-provisioningdoc>

Perform OS Update


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="8"/>
        <characteristic type="file-details">
            <parm name="ZipFile" value="/sdcard/osupdate.zip"/>
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Power-on Serial Port 1


<wap-provisioningdoc>
    <characteristic type="PowerMgr">
        <parm name="PortAction" value="1" />
        <characteristic type="port-details">
            <parm name="PortSelect" value="Serial Port 1" />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Power-off USB Port 2


<wap-provisioningdoc>
    <characteristic type="PowerMgr">
        <parm name="PortAction" value="2" />
        <characteristic type="port-details">
            <parm name="PortSelect" value="USB Port 2" />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Power-On/Off Vehicle-mount Computer w/Vehicle Power


<wap-provisioningdoc>
    <characteristic type="PowerMgr">
        <parm name="AutoPowerControl" value="1" />
        <characteristic type="auto-power-details">
            <parm name="AutoPowerOff" value="1" />
            <parm name="AutoPowerOffTimeout" value="0" />
            <parm name="AutoPowerOn" value="1" />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Power-off Vehicle-mount Computer 10 Minutes After Vehicle Turns Off; Do Not Power-on Automatically


<wap-provisioningdoc>
    <characteristic type="PowerMgr">
        <parm name="AutoPowerControl" value="1" />
        <characteristic type="auto-power-details">
            <parm name="AutoPowerOff" value="1" />
            <parm name="AutoPowerOffTimeout" value="10" />
            <parm name="AutoPowerOn" value="0" />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Enable Touch-panel Heater in -10°C to 5°C Range


<wap-provisioningdoc>
    <characteristic type="PowerMgr">
        <parm name="HeaterAction" value="3" />
        <characteristic type="heater-details">
            <parm name="HeaterSelect" value="4" />
            <parm name="OnThreshold" value="-10" />
            <parm name="OffThreshold" value="5" />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

<wap-provisioningdoc>
    <characteristic type="PowerMgr">
        <parm name="HeaterAction" value="1" />
        <characteristic type="heater-details">
            <parm name="HeaterSelect" value="4" />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Disable USB IO Heater


<wap-provisioningdoc>
    <characteristic type="PowerMgr">
        <parm name="HeaterAction" value="2" />
        <characteristic type="heater-details">
            <parm name="HeaterSelect" value="2" />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Enable Wake-up Sources

<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="8.0" >
        <parm name="WakeUpSources" value="1"/>
    </characteristic>
</wap-provisioningdoc>

Manifest file (sample)

<?xml version="1.0"?>
<Properties>
    <product>
        <ro.product.name value="TC97,TC52,TC57,TC72,TC77,MC93,PS20J"/>
        <ro.product.model value="TC97,TC52,TC57,TC72,TC77,MC93,PS20J"/>
        <ro.product.board value="sdm660"/>
        <ro.product.brand value="Zebra"/>
        <ro.product.locale value="en-US"/>
        <ro.product.manufacturer value="Zebra Technologies"/>
        <ro.product.cpu.abilist value="arm64-v8a,armeabi-v7a,armeabi"/>
    </product>
    <build>
        <ro.build.id value="01-10-09.00-OG-U06-STD"/>
        <ro.build.display.id value="01-10-09.00-OG-U06-STD"/>
        <ro.build.version.incremental value="144"/>
        <ro.build.version.sdk value="27"/>
        <ro.build.version.preview_sdk value="0"/>
        <ro.build.version.codename value="REL"/>
        <ro.build.version.all_codenames value="REL"/>
        <ro.build.version.release value="8.1.0"/>
        <ro.build.version.security_patch value="2018-08-01"/>
        <ro.build.version.base_os value=""/>
        <ro.build.date value="Wed Aug 15 17:48:34 EDT 2018"/>
        <ro.build.date.utc value="1534369714"/>
        <ro.build.type value="user"/>
        <ro.build.user value="jenksvc"/>
        <ro.build.host value="z61sp-gitapp05"/>
        <ro.build.tags value="release-keys"/>
        <ro.build.flavor value="helios-user"/>
        <ro.build.system_root_image value="true"/>
        <ro.build.ab_update value="true"/>
        <ro.build.product value="helios"/>
        <ro.build.description value="01-10-09.00-OG-U06-STD"/>
        <ro.build.fingerprint value="Zebra/helios/helios:8.1.0/01-10-09.00-OG-U06-STD/144:user/release-keys"/>
        <ro.build.characteristics value="nosdcard"/>
        <ro.build.security.critical value="0"/>
        <ro.build.baseline value="01-10-09.00-OG"/>
    </build>
    <bsp>
        <ro.config.bsp.gms value="false,true"/>
        <ro.config.bsp.hwrev value="100,101"/>
        <ro.config.bsp.fips value="true,false"/>
        <ro.config.bsp.beta value="true,false"/>
    </bsp>
    <device>
        <ro.config.device.hwrev value="110,111"/>
    </device>
    <customized>
    </customized>
</Properties>