Android includes APIs to manage devices that are dedicated to a specific purpose. This developer’s guide introduces these APIs. If you're an enterprise mobility management (EMM) developer or solution integrator, read this guide to get started.
Where are dedicated devices used?
Dedicated devices (formerly called corporate-owned single-use, or COSU) are fully managed devices that serve a specific purpose. Android provides APIs that can help you create devices that cater to employee- and customer-specific needs:
- Employee-facing: Inventory management, field service management, transport and logistics
- Customer-facing: Kiosks, digital signage, hospitality check-in
Dedicated device features
Android includes APIs to help people using dedicated devices focus on their tasks. You typically call these APIs from a custom home app that you develop. Your custom home app can use some, or all, of the following APIs:
- Run the system in an immersive, kiosk-like fashion where devices are locked to an allowlisted set of apps using lock task mode.
- Share a device between multiple users (such as shift workers or public-kiosk users) by managing ephemeral and secondary users.
- Avoid devices downloading the same app again for each temporary user by caching app packages.
- Suspend over-the-air (OTA) system updates over critical periods by freezing the operating system version.
To call these APIs, apps need to be the admin of a fully managed device—explained in the following section.
Because dedicated devices might be left unattended or used in critical tasks, you need to secure the device. To prevent misuse, dedicated devices are fully managed and owned by an admin component (the admin component typically manages the users too). Fully managed deployments are for company-owned devices that are used exclusively for work purposes. To learn more about Android device management, read the Android Enterprise Overview guide.
Depending on your solution’s needs and your business goals, you can manage the device in one of the following ways:
- Develop your own device policy controller (DPC), combining it with a custom home app.
- Use the Android Management API to manage the device and any custom apps.
- Use a third-party EMM solution that supports lock task mode and other dedicated device features.
If you're planning to support a third-party EMM, develop an end-to-end testing plan using the EMM’s solution.
We also provide the following resources, which you can use to create your own development or test environment:
- Test DPC app on Google Play
- Dedicated device source code (Test DPC) on GitHub
While you’re still developing, you can set your app as the admin of a fully managed device using the Android Debug Bridge (ADB).
Provision dedicated devices
When you've finished developing your solution, you're ready to provision Android devices, or set up the devices for management. To provision a device, complete the following steps:
- Factory reset the device.
Enroll the device. We recommend using a QR code that contains a provisioning config for device. An IT admin can then scan the code to provision the device.
If you cannot use a QR code, you can enroll devices through other methods, such as NFC bumping or by entering an identifier.
To learn more about getting started with dedicated devices, read the following documents:
- Android Enterprise overview that introduces device management.
- Build a device policy controller explains how to develop a DPC.
- Dedicated devices cookbook gives examples for features typical of dedicated devices.