What's new for enterprise in Android 12

This page provides an overview of the new enterprise APIs, features, and behavior changes introduced in Android 12 (API level 31).

Work profile

The following new features are available in Android 12 for work profiles.

Security and privacy enhancements for work profile

The following features are available in Android 12 for personal devices with a work profile:

  • The password complexity feature sets device-wide password requirements in the form of predefined complexity buckets (High, Medium, Low, and None). If required, strict password requirements can instead be placed on the work profile security challenge.
  • Work profile security challenge onboarding has been streamlined. Setup now takes into account whether device passcode meets admin requirements, and makes it easy for the user to choose whether to increase the strength of their device passcode or to use the work profile security challenge.
  • An enrollment-specific ID provides a unique ID that identifies the work profile enrollment in a particular organization, and will remain stable across factory resets. Access to other hardware identifiers of the device (IMEI, MEID, serial number) are removed for personal devices with a work profile in Android 12.
  • Company-owned devices, with and without work profiles, can adopt the features listed in the preceding list items, but are not required to adopt them in Android 12.
  • You can set and retrieve work profile network logging. You can delegate network logging on the work profile to another work application. You can't use network logging to monitor traffic in the personal profile.
  • Users have additional privacy controls for work profile apps. Users can grant the following permissions to work profile apps unless denied by their IT administrator. For each app in the work profile, the user can allow or deny the following permissions:
    • Location
    • Camera
    • Microphone
    • Body sensor
    • Physical activity

Company-owned devices

The following new features are available for company-owned devices. The term company-owned device refers to both fully managed devices and work profile devices that are company-owned.

Other

The following section describes changes in enterprise APIs that are not specific to work profiles or company-owned devices.

Unmanaged device certificate management

Devices without management are now able to take advantage of Android’s on-device key generation to manage certificates:

  • The user can grant permission to a certificate management app to manage their credentials (not including CA certificates).
  • The certificate management app can use Android’s on-device key generation.
  • The certificate management app can declare a list of apps and URIs where the credentials can be used for authentication.

New APIs provide new functionality:

Privacy and transparency enhancements for fully-managed devices

IT administrators can manage permission grants or choose to opt out of managing sensor-related permission grants during provisioning. If the administrator chooses to manage permissions, users see an explicit message during the setup wizard. If the administrator chooses to opt out, users are prompted to accept or deny permissions in-app when the app is first used. Administrators can always deny permissions.

Network configuration

A device policy controller (DPC) can get the list of a device's configured networks without requiring the location permission. The networks returned are limited to work networks.

A DPC on fully-managed devices can ensure only admin-provided networks are configured on the device, also without requiring the location permission.

Administrators can use the keys generated in secure hardware for Wi-Fi authentication by granting a KeyChain key to the Wi-Fi subsystem for authentication and configuring an enterprise Wi-Fi network with that key.

Deprecations

Android 12 includes the following notable API deprecations:

  • setPasswordQuality() and getPasswordQuality() are deprecated for setting device-wide passcode on work profile devices that are personal devices rather than company-owned. DPCs should use setRequiredPasswordComplexity() instead.
  • setOrganizationColor() and getOrganizationColor() are fully deprecated in Android 12.
  • android.app.action.PROVISION_MANAGED_DEVICE no longer works on Android 12. DPCs must implement activities with intent filters for the ACTION_GET_PROVISIONING_MODE and ACTION_ADMIN_POLICY_COMPLIANCE intent actions. Using ACTION_PROVISION_MANAGED_DEVICE to start provisioning causes the provisioning to fail. To continue to support Android 11 and lower, EMMs should continue to support the PROVISION_MANAGED_DEVICE constant.
  • setPermissionPolicy() and setPermissionGrantState() are deprecated for granting sensor-related permissions for all work profile devices targeting Android 12 and higher. The deprecations cause the following changes:
    • On devices upgrading from Android 11 to Android 12, existing permission grants remain, but new permission grants are not possible.
    • Ability to deny permissions remains.
    • If you develop and distribute applications relying on admin-granted permissions, you must ensure these follow the recommended way of requesting permissions.
    • Applications that follow the recommended way of requesting permissions continue to work as expected. Users are prompted to grant the permission; the app must be able to handle any outcome.
    • Applications that rely on admin-granted permissions and explicitly access permission-protected resources, without following the guidelines, may crash.

Learn more

To learn about other changes that might affect your app, read the Android 12 behavior changes pages (for apps targeting Android 12 and for all apps).