Overview
This guide covers the transfer of device ownership from the Zebra Device Manager (ZDM) to an Enterprise Mobility Management (EMM) system without the loss of user-installed apps or data.
If losing non-factory data is not a concern, a Factory Reset might be the simplest way to remove any existing device ownership in preparation for enrollment into a company's own EMM system.
IMPORTANT:
- If a device was previously enrolled in Zebra DNA Cloud, a Factory Reset MUST be performed on the device before it can be enrolled into any third-party EMM. Zebra recommends backing up device data before performing this action.
- Enrollment in a third-party EMM blocks app installation from unknown sources, including Zebra apps unless unblocked by the EMM.
Requirements
- StageNow 5.8 (or later) on Windows PC
- Zebra device(s) running Android 11 or later
- MX 11.5 or later on device(s)
- Company's EMM DPC
packagename
andclassname
What's a DPC?
On devices running Android in an enterprise, the device policy controller (DPC) acts as an intermediary between a company's EMM and the device itself, responsible for enforcing device policies issued by system administrators. The DPC can prevent certain apps from being installed and/or launched, and controls which Android features and device peripherals can be used. The DPC can perform many other duties, including separation of data and apps for work and personal use on a device.
A device can have only one DPC, and if also the Device Owner (DO), it has ultimate authority over all device actions.
Unless otherwise noted, the term "Device Owner" refers NOT to a person or business entity, but to a software agent running on the device that controls its activities.
Transfer Ownership
I. Set ZDM as DO
The first step in transferring ownership from ZDM to an EMM's device policy controller (DPC) is to ensure that ZDM is the device owner. Zebra can transfer ownership ONLY from its own DPC.
- In StageNow, create a new Profile targeting MX 11.5 (or later).
- Add the Intent CSP to the Profile.
- Select "EnrollDeviceOwner" from the Intent Action parameter.
- Enter ZDM details:
a. PackageName:com.zebra.devicemanager
b. ClassName:com.zebra.devicemanager.policy.devadmin.DevAdminReceiver
c. Bundle data: Do nothing
- Generate and scan the barcode to set ZDM as the DO.
Sample XML
Set Zebra Device Manager as the Device Owner:
<wap-provisioningdoc>
<characteristic version="9.2" type="Intent">
<parm name="Action" value="EnrollDeviceOwner" />
<parm name="Package" value="com.symbol.devicemanager" />
<parm name="Class" value=" com.zebra.devicemanager.policy.devadmin.DevAdminReceiver " />
</characteristic>
</wap-provisioningdoc>
Intended for sample purposes only. Zebra recommends using ONLY machine-generated XML for testing and deployment.
II. Transfer DO to EMM
To transfer ownership from ZDM to the EMM's DCP, follow the same steps as in section I., substituting the EMM's DCP packagename
and classname
, and entering bundledata
(if any) as a string or Json file.
- In StageNow, create a new Profile targeting MX 11.5 (or later).
- Add the Intent CSP to the Profile.
- Select "EnrollDeviceOwner" from the Intent Action parameter.
- Enter EMM's DPC details:
a. PackageName:net.vendor.controlApp.androidwork
b. ClassName:net.vendor.controlApp.admin.DeviceAdminAgent
c. DOJsonData: Json File
d. DOJsonFileData: [paste Json data into field]
- Generate and scan the barcode to set the EMM's DPC as the DO.
Sample XML
Set EMM's DPC as the Device Owner:
<wap-provisioningdoc>
<characteristic version="10.5" type="Intent">
<parm name="Action" value="EnrollDeviceOwner" />
<parm name="Package" value="net.vendor.controlApp.androidwork" />
<parm name="Class" value="net.vendor.controlApp.admin.DeviceAdminAgent" />
<parm name="DOJsonData" value="Json File" />
<parm name="DOJsonFileData" value="IHsNCiJhbmRyb2lkLmFwcC5leHRyYS5QUk9WSVNJT05JTkdfREVWSUNFX0FETUlOX0NPTVBPTkVOVF9OQU1FIjoNCiJuZXQuc290aS5tb2JpY29udHJvbC5hbmRyb2lkd29yay9uZXQuc290aS5tb2JpY29udHJvbC5hZG1pbi5EZXZpY2VBZG1pbkFkYXB0ZXIiLA0KImFuZHJvaWQuYXBwLmV4dHJhLlBST1ZJU0lPTklOR19ERVZJQ0VfQURNSU5fU0lHTkFUVVJFX0NIRUNLU1VNIjoNCiJobjhtU05KTVBjb3ZXYm5uV3JiLXVNcFdaak5sTnAtanlWXzJBLVdodW1jPVxuIiwNCiJhbmRyb2lkLmFwcC5leHRyYS5QUk9WSVNJT05JTkdfREVWSUNFX0FETUlOX1BBQ0tBR0VfRE9XTkxPQURfTE9DQVRJT04iOg0KImh0dHBzOi8vZHJpdmUuZ29vZ2xlLmNvbS91Yz9leHBvcnQ9ZG93bmxvYWQmaWQ9MUt4UHFnZzV5eWk5QVU1YnRLRi1nMEk3NXRoVGR5R2FrIiwNCiJhbmRyb2lkLmFwcC5leHRyYS5QUk9WSVNJT05JTkdfU0tJUF9FTkNSWVBUSU9OIjoiZmFsc2UiLA0KImFuZHJvaWQuYXBwLmV4dHJhLlBST1ZJU0lPTklOR19BRE1JTl9FWFRSQVNfQlVORExFIjp7DQoiZW5yb2xsbWVudElkIjoiV0VXVVhWNzkiDQp9DQp9DQoNCgkNCg==" />
</characteristic>
</wap-provisioningdoc>
Intended for sample purposes only. Zebra recommends using ONLY machine-generated XML for testing and deployment.
Also See
- Creating a StageNow Profile | Step-by-step guide to Profile creation and usage
- Creating Smart Profiles | Guide for automating OS-update Profiles