Power Manager

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

Input fields accept ENGLISH ONLY.

Queries from MX are not supported on Zebra devices running Android 11 or later. See alternative method.

EMDK For Xamarin - 9.0

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 VC8x vehicle-mounted computer and similarly equipped Zebra devices, PowerMgr also can control device heaters and perform actions based on ignition status of the vehicle. 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

  • Turn off device power
  • Protect Recovery Mode from actions that could change device behavior
  • Reboot a device
  • Update, upgrade or downgrade the OS on a device
  • Suppress reboot following an OS upgrade or downgrade
  • Put a device into Sleep Mode
  • Perform an Enterprise Reset on a device
  • Bypass the Android 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
  • Upload/Download an OS Update from a streaming server
  • Set Authorization Type for Upgrade/Downgrade Streaming
  • Enter user name and password for server connections
  • Download a .zip file from a URL
  • Set Battery Saver Mode Automatic/Manual
  • Set battery charge percentage threshold to activate Battery Saver Mode
  • Enable/disable:
    • Doze Mode
    • Battery Saver Mode
    • Wake-up methods (hardware or software)
    • Wake-up sources (device buttons)
    • Individual buttons to wake device
    • Keyboard heater on VC8300 devices
    • Scanner-window heater on MC93 devices
    • Allocation of device storage as RAM (see RAM Optimization)
  • On the VC8x 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 vehicle-mounted computers along with vehicle 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).

IMPORTANT: The Reboot Action causes the device to immediately restart, which prevents 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 devices running Android, 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 later. On Zebra Android devices running Android Jelly Bean or earlier, the same action could be performed using the "OS Update" action if a suitable OS Update .zip file was used.

Note: The Enterprise Reset 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.

BEST PRACTICE: Enterprise Reset should be triggered only through Power Manager and only with the Setup Wizard Bypass flag set to "true." Manually triggering Enterprise Reset without setting the bypass flag could leave the device in an unexpected state.

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 devices running Android, 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 later. On Zebra Android devices running Android Jelly Bean or earlier, the same action could be performed using the "OS Update" Action if a suitable OS Update .zip file was used.

The Factory Reset Action causes the device to Reboot into Recovery Mode, which prevents 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 later. 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), which prevents 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 Suppress 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.

OS Upgrade/Downgrade

OS Upgrade (Android 8.0+ only)

Use the following basic steps to perform an OS Upgrade on devices running Android 8.x Oreo or later. Steps might vary slightly depending on the device(s), the environment or other factors.

To perform an OS Upgrade:

  1. Create a StageNow Profile with PowerMgr settings.
  2. Push upgrade .zip file to internal storage (/storage/sdcard0) of the unit under test (UUT).
  3. Set PowerMgr ResetAction as "10" (OS Upgrade) to perform an update of the UUT.
  4. Enter "file-details" characteristic with location of the .zip file in UUT (see sample XML below).
  5. Optionally, set SuppressReboot as False (unchecked).
    This step is optional because the OS Update Action automatically triggers a device reboot.
  6. StageNow only: Generate a barcode that contains the Profile with these settings.
  7. StageNow only: Launch StageNow and scan the barcode.
  8. Verify that the UUT starts an update process and reboots after a successful OS Update (and Enterprise Reset if security patch is different).

XML for Upgrade


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="8.1" >
            <parm name="ResetAction" value="10"/>
        <characteristic type="file-details">
            <parm name="ZipFile" value="/storage/sdcard0/name_of_upgrade_file.zip"/> // <-- upgrade .zip file
        </characteristic>
            <parm name="SuppressReboot" value="2"/>
    </characteristic>
</wap-provisioningdoc>

OS Downgrade (Android 8.0+ only)

Use the following basic steps to perform an OS Downgrade on devices running Android 8.x Oreo or later. Steps might vary slightly depending on the device(s), the environment or other factors.

NOTE: Downgrades are supported ONLY when moving from one Android version to another. Downgrades within the same Android version (for example to move to an earlier patch level) are NOT supported using this function.

To perform an OS Downgrade:

  1. StageNow only: Create a StageNow Profile with PowerMgr Settings.
  2. Push downgrade .zip file to internal storage (/storage/sdcard0) of the UUT.
  3. Set PowerMgr ResetAction as "11" (OS Downgrade) to perform a downgrade of the UUT.
  4. Enter the "file-details" characteristic with the location of the .zip file in UUT (see sample XML below).
  5. StageNow only: Generate a barcode that contains the Profile with these settings.
  6. StageNow only: Launch StageNow and scan the barcode.
  7. Verify that the UUT starts an update process and reboots after a successful OS Downgrade (and Enterprise Reset if security patch is different).

XML for Downgrade


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="8.1" >
            <parm name="ResetAction" value="11"/>
        <characteristic type="file-details">
            <parm name="ZipFile" value="/storage/sdcard0/name_of_downgrade_file.zip"/> // <-- downgrade .zip file
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Reset Action

Used to invoke an OS- or power-related Action on the device.

WARNING: Read Overview section carefully for important information and device restrictions related to the use of Reset, OS Update, OS Upgrade and OS Downgrade Actions.

Note: Update package list (.upl) files are not supported on TC70/TC75 devices running Android 4.x KitKat.

Parm Name: ResetAction

Option Name Description Note Status 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 or 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. See Overview for more information.

MX: 8.1+

Android API: 26+

12 OS Upgrade Streaming Launches a full-package OS Upgrade via streaming server. See Overview for more information.

MX: 10.1+

Android API: 29+

13 OS Downgrade Streaming Launches a full-package OS Downgrade via streaming server. See Overview for more information.

MX: 10.1+

Android API: 29+

14 Cancel any ongoing OS Upgrade/Downgrade (if possible) Aborts any OS image file download or stream currently in progress on the device.

MX: 11.1+

Android API: 30+

15 Power off Turns off the power on the device.

MX: 13.1+

Android API: 30+

OS Update 'Zip' File

Used to enter 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, an 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 that package file names are preceded by the notation "package:" 

Update File Rules

  • Device "Reset" commands are supported for use within a .upl file only on devices running Android 10. Other devices must execute all required reset(s) using Reset Actions in one or more StageNow Profile(s). See syntax, below.
  • Zebra recommends matching case when entering file names to avoid case-sensitivity errors on some devices.
  • Required file(s) must be on the device before a 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

DATA LOSS WARNING: On devices running Android 11 or later, UPL files must be used ONLY for performing non-OS update operations. Peforming an OS update through a UPL file could result in loss of all installed apps and data on the device.
See other important warnings for Android 8, 9 and 10.

Device Reset Commands

Device "Reset" commands are supported for use within a .upl file only on devices running Android 10 and only using the syntax below.


// On devices running Android 10 (or later) the "osupdate.upl" text file can contain
// one or more Reset commands using the following syntax:

command:FactoryReset
command:EnterpriseReset

// See the Overview section for more information about resetting the device. 

Android File 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 affected 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 entering the OS Update file to the PowerMgr.

Device File 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: Update package list (.upl) files are not supported on TC70/TC75 devices running Android 4.x KitKat.

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

Parm Name: ZipFile

Requires:

  • MX: 4.1+
  • Android API: 16+

Update Verification File

Used to enter 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+

Recovery Mode Access

Used to select whether to display Upgrade and Downgrade actions for selection while the device is in Recovery Mode. Selection of such options could lead to unwanted changes to device behavior, removal of theft deterrent measures and/or other unwanted activities. Selecting "Partial" (option 2) displays only "Reboot system now," "View recovery logs" and "Power off" functions for selection.

IMPORTANT PERSISTENCE NOTE: This setting persists on the device ONLY if the Enterprise Reset is performed from a barcode. Resetting the device through the Android system UI or by an other means removes any settings created for this feature.

Platform Note

This feature is supported ONLY on the following platforms and requires the following Android- and platform-specific OSX versions.

Android 13:

Platform - Required OSX ver. (or later)
SDM660 - SDM660.130.13.9.17
4490 - QCT4490.130.13.5.3
6375 - QCT6375.130.13.9.15
6490 - QCT6490.130.13.8.16

Android 11:

Platform - Required OSX ver. (or later)
SDM660 - QCT.110.11.21.44
6375 - QCT6375.110.24.38
6490 - QCT6490.110.11.9.29

See a list of Zebra devices by platform

Note: This feature requires Android- and platform-specific versions of OSX. See Platform Note.

Parm Name: RecoveryModeAccess

Option Name Description Note Status 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.

MX: 13.1+

Android API: 33+

1 Full (default) Displays all Recovery Mode actions for selection, including Upgrade and Downgrade.

MX: 13.1+

Android API: 33+

2 Partial (blocks sensitive operations) Displays only "Reboot system now," "View recovery logs" and "Power off" functions for selection.

MX: 13.1+

Android API: 33+

Recovery Mode Override

Used to select whether to temporarily display Full functionality (Upgrade and Downgrade Actions) for selection the next time the device enters Recovery Mode. Automatically returns to Partial functionality (displaying only "Reboot system now," "View recovery logs" and "Power off") upon exiting Recovery Mode.

Shown if: Recovery Mode Access is set to "Partial (blocks sensitive operations)"

Parm Name: RecoveryModeOverride

Option Name Description Note Status 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: 13.1+

Android API: 30+

1 Allow Full functionality one time Displays all functions next time the device enters Recovery Mode and returns to Partial functionality upon exiting.

MX: 13.1+

Android API: 30+

Setup Wizard Bypass

Controls whether to bypass the Android "setup wizard" (also known as the "Welcome Screen") following any Enterprise Reset. Applies only on devices with Google Mobile Services (GMS).

Important: Once applied, this setting persists on the device and is effective following all subsequent Enterprise Resets until it is explicitly changed using PowerMgr or cleared by initiating a Factory Reset.

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 Status Requires
0 Do Nothing This value (or the absence of this parm from the XML) causes no action on the device; the default or previously configured value remains in effect.

MX: 7.1+

1 true Once applied, causes the Android setup wizard to be skipped following all subsequent Enterprise Resets.

MX: 7.1+

2 false Allows the Android setup wizard to be performed following an Enterprise Reset (default). Use this setting to remove a previously applied SUW bypass.

MX: 7.1+

Suppress Reboot

Controls whether the device reboots following a full-OS package Upgrade (download or streaming) on a SDM660 device running Android 8.x Oreo or later. Not supported for differential or LifeGuard updates on devices running Android 10 or earlier.

Note: Supported only for full-OS package Upgrade Actions on SDM660-platform devices running Android 8.x Oreo or later.

Shown if: The Reset Action is "OS Upgrade" OR "OS Upgrade Streaming"

Parm Name: SuppressReboot

Option Name Description Note Status 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 or OS Upgrade Streaming Action.

MX: 8.1+

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

MX: 8.1+

Port Action

Used to enter an action to perform on the selected port. Turning off power when not needed for a port can help reduce pin corrosion.

Note: Applies only to the VC8x vehicle-mounted computer and similarly equipped Zebra devices.

Parm Name: PortAction

Option Name Description Note Status 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.

Note: Applies only to the VC8x vehicle-mounted computer and similarly equipped Zebra devices.

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

Parm Name: PortSelect

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

MX: 7.1+

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

MX: 7.1+

3 USB Port 2 Selects the "USB + Power" port for the specified Action; the adjacent USB Type A connector is unaffected. Power is terminated on both USB ports when the host device is in sleep/suspend mode. See Note.

MX: 7.1+

Heater Action

This is the On/Off switch for the ability to perform Actions on the selected device heater(s) or to set temperature thresholds using the relevant Threshold parameters.

Note: Applies only to the VC8x vehicle-mounted computer and similarly equipped Zebra devices.

Parm Name: HeaterAction

Option Name Description Note Status 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.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 enter 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 a suitable operating temperature.

Note: Supported only on VC8x vehicle-mounted computers and some similarly equipped Zebra devices.

Parm Name: HeaterSelect

Option Name Description Note Status 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+

5 Keyboard Selects the keyboard heater on the VC8300 vehicle computer.

MX: 9.1+

6 Scanner Window Selects the scanner-window heater on the MC93 device.

MX: 9.1+

Heater-On Threshold

Used to enter the temperature (in degrees Celsius) at which the device heater should turn on.

Parm value input rules:

  • Integer value from -30 to 50

Note: Applies only to the VC8x vehicle-mounted computer and similarly equipped Zebra devices.

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

Parm Name: OnThreshold

Requires:

  • MX: 7.1+

Heater-Off Threshold

Used to enter the temperature (in degrees Celsius) at which the device heater should turn off.

Parm value input rules:

  • Integer value from -30 to 50

Note: Supported on VC8x and similarly equipped devices only.

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.

Parm value input rules:

  • Integer value

Note: Applies only to the VC8x vehicle-mounted computer and similarly equipped Zebra devices.

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.

Note: Applies only to the VC8x vehicle-mounted computer and similarly equipped Zebra devices.

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

Parm Name: AutoPowerOn

Option Name Description Note Status 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 when ignition is turned off.

Note: Applies only to the VC8x vehicle-mounted computer and similarly equipped Zebra devices.

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

Parm Name: AutoPowerOff

Option Name Description Note Status 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 enter 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.

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

Note: Applies only to the VC8x vehicle-mounted computer and similarly equipped Zebra devices.

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+

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 Status Requires
0 Do not change This value (or the absence of this parm from the XML) causes no change on the device; any previously selected setting is retained.

OSX: 7.3+

MX: 7.2+

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

OSX: 7.3+

MX: 7.2+

2 Turn off Disables Doze Mode energy saving features on the device.

OSX: 7.3+

MX: 7.2+

Battery Saver Control Mode

Controls whether Battery Saver Mode is automatically turned on when charge percentage reaches the charge level set in the Battery Saver Threshold parameter.

Note: Supported only on devices running Android 8 and 10 or later.

Status: In devices running Android 13 and later, this feature can be accessed through StageNow and compatible EMM systems, or using Android Device Policy Manager (DPM) APIs.

Parm Name: BatterySaverControlMode

Option Name Description Note Status Requires
0 Do not change 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: 10.1+

Android API: 26+

1 Automatically Enables Battery Saver Mode energy saving features on the device.

MX: 10.1+

Android API: 26+

2 Manually Disables Battery Saver Mode energy saving features on the device.

MX: 10.1+

Android API: 26+

Battery Saver Threshold

Used to enter a percentage of battery charge below which Battery Saver Mode is automatically turned on. On devices running Android 8.x (Oreo), value must be from 5–20.

Parm value input rules:

  • Integer value from 5–75
  • Integer value from 5–20 on devices running Android 8.x (Oreo)

Note: Supported only on devices running Android 8 and 10 or later.

Status: In devices running Android 13 and later, this feature can be accessed through StageNow and compatible EMM systems, or using Android Device Policy Manager (DPM) APIs.

Shown if: The Battery Saver Control Mode is "Automatic"

Parm Name: BatterySaverThreshold

Requires:

  • MX: 10.1+
  • Android API: 26+

Battery Saver Mode On/Off

This is the On/Off switch for Battery Saver Mode energy saving features on the device.

Note: Supported only on devices running Android 8 and 10 or later.

Status: In devices running Android 13 and later, this feature can be accessed through StageNow and compatible EMM systems, or using Android Device Policy Manager (DPM) APIs.

Parm Name: BatterySaverMode

Option Name Description Note Status Requires
0 Do not change 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: 10.1+

Android API: 26+

1 Turn on Enables Battery Saver Mode energy saving features on the device.

MX: 10.1+

Android API: 26+

2 Turn off Disables Battery Saver Mode energy saving features on the device.

MX: 10.1+

Android API: 26+

Wake-up Method

Controls whether the device wakes up from power-saving modes when it detects a hardware signal (such as a button press) or a mappable software keycode signal.

WARNING: Setting or switching the Wake-up Method requires any previously configured Wake-up Sources to be reapplied.

Parm Name: WakeUpMethods

Option Name Description Note Status Requires
0 Do not change 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: 9.1+

1 Hardware Enables device wake-up when a hardware signal is detected.

MX: 9.1+

2 Software Enables device wake-up when a programmable keycode signal is detected.

MX: 9.1+

Wake-up Sources Enable/Disable

Used to control the button-presses that wake the device from suspend mode. Devices by default wake only when the power button is pressed. Enabling this parameter (option 1) adds as wake-up sources the push-to-talk (PTT) button (on the left side of the device), scan buttons and any other button listed in the "Wake-up Sources" page in the device Settings panel (varies by device). To control individual buttons, see the Wake-up Individual Action parameter (not supported on TC20/TC25 devices).

Parm Name: WakeUpSources

Option Name Description Note Status 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 Turn on Enables PTT and scan buttons (in addition to power button) to wake the device from suspend mode.

OSX: 7.7+

MX: 8.0+

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

OSX: 7.7+

MX: 8.0+

Wake-up Individual Action Enable/Disable

Controls whether individual device buttons are allowed to wake the device from suspend mode. For example, if after using the Wake-up Sources parameter to "Turn on" all buttons as wake-up sources, this parameter–combined with the Wake-up Key Identifier parameter–can be used to turn off individual buttons. This feature is supported only on TC52, TC57, TC72, TC77 and EC30 devices.

Note: Supported only on TC52, TC57, TC72, TC77 and EC30. For keys that have been remapped, only Hardware signals can be used as the Wake-up Method.

Parm Name: WakeUpIndividualAction

Option Name Description Note Status 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: 9.2+

1 Turn on Enables individual buttons to be selected for waking the device from suspend mode.

OSX: 7.7+

MX: 9.2+

2 Turn off Prevents individual buttons from being selected to wake the device from suspend mode.

OSX: 7.7+

MX: 9.2+

Wake-up Key Identifier

Used to select an individual device button to allow or prevent the device from waking from power-saving modes when the button (if so equipped) is pressed. Use this parameter when selecting an Action using the Wake-up Individual Action parameter.

Note: For keys that have been remapped, only Hardware signals can be used as the Wake-up Method.

Parm Name: WakeUpKeyIdentifier

Option Name Description Note Status Requires
1 BUTTON_L1 Selects the button on the device's upper-left side.

MX: 9.2+

2 BUTTON_L2 Selects the button on the device's lower-left side.

MX: 9.2+

3 BUTTON_R1 Selects the button on the device's upper-right side.

MX: 9.2+

4 BUTTON_R2 Selects the button on the device's lower-right side.

MX: 9.2+

5 GUN_TRIGGER Selects the button on the device's gun or grip trigger (if so equipped).

MX: 9.2+

6 REAR_BUTTON Selects the button on the back or outward-facing side of the device (if so equipped).

MX: 9.2+

86 Custom Allows use of a custom key identifier. See Custom Wake-up Key Identifier parameter.

MX: 9.2+

Custom Wake-up Key Identifier

Used to enter a custom key identifier code to allow or prevent the device from waking from power-saving modes when that key signal is detected.

Parm value input rules:

  • Text string of at least one character

Shown if: The Wake-up Key Identifier is "86" and Wake Individual Action is NOT "Do Nothing"

Parm Name: WakeUpKeyIdentifierCustom

Requires:

  • MX: 9.2+

Remote Zip File Name

Used to enter the URL and file name of the Remote Zip File.

Parm value input rules:

  • Text string from 1–255 characters
  • Supports only URLs with http:// or https://
  • URL must NOT contain any ampersand (&) characters unless encoded as "%26"

More about URL encoding rules.

Note: Supported only on devices running Android 8 and 10 or later.

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

Parm Name: RemoteZipFile

Requires:

  • MX: 10.1+
  • Android API: 26+

Authorization Type

Used to select the Authorization Type required for making the Upgrade/Downgrade Streaming server connection.

Note: Supported only on devices running Android 8 and 10 or later.

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

Parm Name: AuthorizationType

Option Name Description Note Status Requires
0 No Authorization Selects no authorization for Upgrade/Downgrade Streaming server connection.

MX: 10.1+

Android API: 26+

1 Zebra Authentication Token Selects Zebra Authentication Token for Upgrade/Downgrade Streaming server connection.

MX: 10.1+

Android API: 26+

2 Basic Authentication Selects Basic Authentication for Upgrade/Downgrade Streaming server connection.

MX: 10.1+

Android API: 26+

3 Custom Authorization Header Selects Custom Authentication Header for Upgrade/Downgrade Streaming server connection. Requires a value to be entered in the CustomAuthorizationHeader parameter.

MX: 10.1+

Android API: 26+

Zebra Authentication Token

Used to enter the Zebra Authentication Token required to access a Remote Zip File from the Zebra Support Central portal.

The Zebra Authentication Token is valid ONLY for use with LifeGuard APIs (when made available to customers); the token cannot be used through OEMConfig at this time.

Parm value input rules:

  • Text string of at least one character

Note: Supported only on devices running Android 8 and 10 or later.

Shown if: The Authorization Type is "Zebra Authentication Token"

Parm Name: ZebraAuthToken

Requires:

  • MX: 10.1+
  • Android API: 26+

User Name

Used to enter authentication credentials for accessing a Remote Zip File.

Parm value input rules:

  • Text string of at least one character

Note: Supported only on devices running Android 8 and 10 or later.

Shown if: The Authorization Type is "Basic Authentication"

Parm Name: UserName

Requires:

  • MX: 10.1+
  • Android API: 26+

Password

Used to enter authentication credentials for accessing a Remote Zip File.

Parm value input rules:

  • Text string of at least one character

Note: Supported only on devices running Android 8 and 10 or later.

Shown if: The Authorization Type is "Basic Authentication"

Parm Name: Password

Requires:

  • MX: 10.1+
  • Android API: 26+

Custom Authorization Header

Used to enter a Custom Authorization Header value as required to access the Remote Zip File.

Parm value input rules:

  • Text string of at least one character

Note: Supported only on devices running Android 8 and 10 or later.

Shown if: The Authorization Type is "Custom Authorization Header"

Parm Name: CustomAuthorizationHeader

Requires:

  • MX: 10.1+
  • Android API: 26+

RAM on Disk

Used to select whether to allow a portion of available device storage to be used as system RAM.

Platform Notes

  • This parameter is supported ONLY on devices running Android 14 or later.
  • Supported ONLY on the following platforms with these platform-specific OSX versions:

Note: Requires Android 14 and platform-specific OSX versions. See Platform Notes.

Parm Name: RamOptimization

Option Name Description Note Status 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.

MX: 13.4+

Android API: 34+

1 Turn on Enables the selected portion of device storage to be used as system RAM.

MX: 13.4+

Android API: 34+

2 Turn off Returns the selected RAM to be restored for use as device storage.

MX: 13.4+

Android API: 34+

RAM On Disk Size

Used to select the amount of device storage to use as system RAM.

Note: Requires Android 14 and platform-specific OSX versions. See Platform Notes.

Parm Name: RamOptimizationSize

Option Name Description Note Status 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.

MX: 13.4+

Android API: 34+

1 2GB Allocates 2GB of device storage to be used as system RAM.

MX: 13.4+

Android API: 34+

2 4GB Allocates 4GB of device storage to be used as system RAM.

MX: 13.4+

Android API: 34+

3 6GB Allocates 6GB of device storage to be used as system RAM.

MX: 13.4+

Android API: 34+

4 Custom Allocates a custom portion of device storage to be used as system RAM.

MX: 13.4+

Android API: 34+

RAM On Disk Custom Size

Used to enter a custom amount of device storage (in GB, from 1-12) to be used as system RAM.

Parm value input rules:

  • Integer value from 1–12

Note: Requires Android 14 and platform-specific OSX versions. See Platform Notes.

Shown if: RAM Optimization is NOT "Disable" and RAM Optimization Size is "Custom"

Parm Name: RamOptimizationCustomSize

Requires:

  • MX: 13.4+
  • Android API: 34+

Suppress Reboot

Used to select whether to reboot the device following configuration of the RAM On Disk parameter.

Zebra recommends rebooting the device (Option 2, "Turn Off") following any change to the RAM On Disk setting.

Shown if: RAM On Disk is NOT set to "Do not change"

Parm Name: RamOptimization

Option Name Description Note Status 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.

MX: 13.4+

Android API: 34+

1 Turn on Prevents the device from rebooting following RAM On Disk configuration.

MX: 13.4+

Android API: 34+

2 Turn off Allows the device to automatically reboot following RAM On Disk configuration (recommended).

MX: 13.4+

Android API: 34+

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>