Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

# android.app.admin

*** ** * ** ***

Provides device administration features at the system level, allowing you to create security-aware applications that are useful in enterprise settings, in which IT professionals require rich control over employee devices.

For more information, see the [Device
Administration](https://developer.android.com/guide/topics/admin/device-admin) guide.


## Interfaces

|---|---|
| [DevicePolicyManager.OnClearApplicationUserDataListener](https://developer.android.com/reference/android/app/admin/DevicePolicyManager.OnClearApplicationUserDataListener) | Callback used in `https://developer.android.com/reference/android/app/admin/DevicePolicyManager#clearApplicationUserData(android.content.ComponentName,%20java.lang.String,%20java.util.concurrent.Executor,%20android.app.admin.DevicePolicyManager.OnClearApplicationUserDataListener)` to indicate that the clearing of an application's user data is done. |

## Classes

|---|---|
| [ConnectEvent](https://developer.android.com/reference/android/app/admin/ConnectEvent) | A class that represents a TCP connect event initiated through the standard network stack. |
| [DelegatedAdminReceiver](https://developer.android.com/reference/android/app/admin/DelegatedAdminReceiver) | Base class for delegated apps to handle callbacks related to their delegated capabilities. |
| [DeviceAdminInfo](https://developer.android.com/reference/android/app/admin/DeviceAdminInfo) | This class is used to specify meta information of a device administrator component. |
| [DeviceAdminReceiver](https://developer.android.com/reference/android/app/admin/DeviceAdminReceiver) | Base class for implementing a device administration component. |
| [DeviceAdminService](https://developer.android.com/reference/android/app/admin/DeviceAdminService) | Base class for a service that device owner/profile owners can optionally have. |
| [DevicePolicyIdentifiers](https://developer.android.com/reference/android/app/admin/DevicePolicyIdentifiers) | Class containing identifiers for policy APIs in `https://developer.android.com/reference/android/app/admin/DevicePolicyManager`, for example they will be passed in `https://developer.android.com/reference/android/app/admin/PolicyUpdateReceiver#onPolicySetResult(android.content.Context,%20java.lang.String,%20android.os.Bundle,%20android.app.admin.TargetUser,%20android.app.admin.PolicyUpdateResult)` and `https://developer.android.com/reference/android/app/admin/PolicyUpdateReceiver#onPolicyChanged(android.content.Context,%20java.lang.String,%20android.os.Bundle,%20android.app.admin.TargetUser,%20android.app.admin.PolicyUpdateResult)` to communicate updates of a certain policy back to the admin. |
| [DevicePolicyManager](https://developer.android.com/reference/android/app/admin/DevicePolicyManager) | Manages device policy and restrictions applied to the user of the device or apps running on the device. |
| [DevicePolicyManager.InstallSystemUpdateCallback](https://developer.android.com/reference/android/app/admin/DevicePolicyManager.InstallSystemUpdateCallback) | Callback used in `https://developer.android.com/reference/android/app/admin/DevicePolicyManager#installSystemUpdate(android.content.ComponentName,%20android.net.Uri,%20java.util.concurrent.Executor,%20android.app.admin.DevicePolicyManager.InstallSystemUpdateCallback)` to indicate that there was an error while trying to install an update. |
| [DevicePolicyResources](https://developer.android.com/reference/android/app/admin/DevicePolicyResources) | Class containing the required identifiers to update device management resources. |
| [DevicePolicyResourcesManager](https://developer.android.com/reference/android/app/admin/DevicePolicyResourcesManager) | Class containing required APIs to set, reset, and get device policy related resources. |
| [DnsEvent](https://developer.android.com/reference/android/app/admin/DnsEvent) | A class that represents a DNS lookup event initiated through the standard network stack. |
| [FactoryResetProtectionPolicy](https://developer.android.com/reference/android/app/admin/FactoryResetProtectionPolicy) | The factory reset protection policy determines which accounts can unlock a device that has gone through untrusted factory reset. |
| [FactoryResetProtectionPolicy.Builder](https://developer.android.com/reference/android/app/admin/FactoryResetProtectionPolicy.Builder) | Builder class for `https://developer.android.com/reference/android/app/admin/FactoryResetProtectionPolicy` objects. |
| [FreezePeriod](https://developer.android.com/reference/android/app/admin/FreezePeriod) | A class that represents one freeze period which repeats *annually*. |
| [ManagedSubscriptionsPolicy](https://developer.android.com/reference/android/app/admin/ManagedSubscriptionsPolicy) | A policy class that describes how managed SIM subscriptions should behave on the device. |
| [NetworkEvent](https://developer.android.com/reference/android/app/admin/NetworkEvent) | An abstract class that represents a network event. |
| [PackageIdentifier](https://developer.android.com/reference/android/app/admin/PackageIdentifier) | Identifies a package on the current device. |
| [PackagePolicy](https://developer.android.com/reference/android/app/admin/PackagePolicy) | A generic class that defines which APK packages are in scope for some device policy. |
| [PolicyIdentifier](https://developer.android.com/reference/android/app/admin/PolicyIdentifier)\<T\> | Represents a type safe identifier for a policy. |
| [PolicyUpdateReceiver](https://developer.android.com/reference/android/app/admin/PolicyUpdateReceiver) | Base class for implementing a policy update receiver. |
| [PolicyUpdateResult](https://developer.android.com/reference/android/app/admin/PolicyUpdateResult) | Class containing the reason for the policy (set from `https://developer.android.com/reference/android/app/admin/DevicePolicyManager`) update (e.g. |
| [PreferentialNetworkServiceConfig](https://developer.android.com/reference/android/app/admin/PreferentialNetworkServiceConfig) | Network configuration to be set for the user profile. |
| [PreferentialNetworkServiceConfig.Builder](https://developer.android.com/reference/android/app/admin/PreferentialNetworkServiceConfig.Builder) | Builder used to create `https://developer.android.com/reference/android/app/admin/PreferentialNetworkServiceConfig` objects. |
| [SecurityLog](https://developer.android.com/reference/android/app/admin/SecurityLog) | Definitions for working with security logs. |
| [SecurityLog.SecurityEvent](https://developer.android.com/reference/android/app/admin/SecurityLog.SecurityEvent) | A class representing a security event log entry. |
| [SystemUpdateInfo](https://developer.android.com/reference/android/app/admin/SystemUpdateInfo) | A class containing information about a pending system update. |
| [SystemUpdatePolicy](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy) | Determines when over-the-air system updates are installed on a device. |
| [TargetUser](https://developer.android.com/reference/android/app/admin/TargetUser) | Class representing the target user of a policy set by an admin (set from `https://developer.android.com/reference/android/app/admin/DevicePolicyManager`), this is passed in to `https://developer.android.com/reference/android/app/admin/PolicyUpdateReceiver#onPolicySetResult(android.content.Context,%20java.lang.String,%20android.os.Bundle,%20android.app.admin.TargetUser,%20android.app.admin.PolicyUpdateResult)` and `https://developer.android.com/reference/android/app/admin/PolicyUpdateReceiver#onPolicyChanged(android.content.Context,%20java.lang.String,%20android.os.Bundle,%20android.app.admin.TargetUser,%20android.app.admin.PolicyUpdateResult)`. |
| [WifiSsidPolicy](https://developer.android.com/reference/android/app/admin/WifiSsidPolicy) | Used to indicate the Wi-Fi SSID restriction policy the network must satisfy in order to be eligible for a connection. |

## Exceptions

|---|---|
| [SystemUpdatePolicy.ValidationFailedException](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy.ValidationFailedException) | An exception class that represents various validation errors thrown from `https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy#setFreezePeriods(java.util.List<android.app.admin.FreezePeriod>)` and `https://developer.android.com/reference/android/app/admin/DevicePolicyManager#setSystemUpdatePolicy(android.content.ComponentName,%20android.app.admin.SystemUpdatePolicy)` |
| [UnsafeStateException](https://developer.android.com/reference/android/app/admin/UnsafeStateException) | Exception thrown when a `https://developer.android.com/reference/android/app/admin/DevicePolicyManager` operation failed because it was not safe to be executed at that moment. |

-

  ## Interfaces

  - [DevicePolicyManager.OnClearApplicationUserDataListener](https://developer.android.com/reference/android/app/admin/DevicePolicyManager.OnClearApplicationUserDataListener)
-

  ## Classes

  - [ConnectEvent](https://developer.android.com/reference/android/app/admin/ConnectEvent)
  - [DelegatedAdminReceiver](https://developer.android.com/reference/android/app/admin/DelegatedAdminReceiver)
  - [DeviceAdminInfo](https://developer.android.com/reference/android/app/admin/DeviceAdminInfo)
  - [DeviceAdminReceiver](https://developer.android.com/reference/android/app/admin/DeviceAdminReceiver)
  - [DeviceAdminService](https://developer.android.com/reference/android/app/admin/DeviceAdminService)
  - [DevicePolicyIdentifiers](https://developer.android.com/reference/android/app/admin/DevicePolicyIdentifiers)
  - [DevicePolicyManager](https://developer.android.com/reference/android/app/admin/DevicePolicyManager)
  - [DevicePolicyManager.InstallSystemUpdateCallback](https://developer.android.com/reference/android/app/admin/DevicePolicyManager.InstallSystemUpdateCallback)
  - [DevicePolicyResources](https://developer.android.com/reference/android/app/admin/DevicePolicyResources)
  - [DevicePolicyResourcesManager](https://developer.android.com/reference/android/app/admin/DevicePolicyResourcesManager)
  - [DnsEvent](https://developer.android.com/reference/android/app/admin/DnsEvent)
  - [FactoryResetProtectionPolicy](https://developer.android.com/reference/android/app/admin/FactoryResetProtectionPolicy)
  - [FactoryResetProtectionPolicy.Builder](https://developer.android.com/reference/android/app/admin/FactoryResetProtectionPolicy.Builder)
  - [FreezePeriod](https://developer.android.com/reference/android/app/admin/FreezePeriod)
  - [ManagedSubscriptionsPolicy](https://developer.android.com/reference/android/app/admin/ManagedSubscriptionsPolicy)
  - [NetworkEvent](https://developer.android.com/reference/android/app/admin/NetworkEvent)
  - [PackageIdentifier](https://developer.android.com/reference/android/app/admin/PackageIdentifier)
  - [PackagePolicy](https://developer.android.com/reference/android/app/admin/PackagePolicy)
  - [PolicyIdentifier](https://developer.android.com/reference/android/app/admin/PolicyIdentifier)
  - [PolicyUpdateReceiver](https://developer.android.com/reference/android/app/admin/PolicyUpdateReceiver)
  - [PolicyUpdateResult](https://developer.android.com/reference/android/app/admin/PolicyUpdateResult)
  - [PreferentialNetworkServiceConfig](https://developer.android.com/reference/android/app/admin/PreferentialNetworkServiceConfig)
  - [PreferentialNetworkServiceConfig.Builder](https://developer.android.com/reference/android/app/admin/PreferentialNetworkServiceConfig.Builder)
  - [SecurityLog](https://developer.android.com/reference/android/app/admin/SecurityLog)
  - [SecurityLog.SecurityEvent](https://developer.android.com/reference/android/app/admin/SecurityLog.SecurityEvent)
  - [SystemUpdateInfo](https://developer.android.com/reference/android/app/admin/SystemUpdateInfo)
  - [SystemUpdatePolicy](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy)
  - [TargetUser](https://developer.android.com/reference/android/app/admin/TargetUser)
  - [WifiSsidPolicy](https://developer.android.com/reference/android/app/admin/WifiSsidPolicy)
-

  ## Exceptions

  - [SystemUpdatePolicy.ValidationFailedException](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy.ValidationFailedException)
  - [UnsafeStateException](https://developer.android.com/reference/android/app/admin/UnsafeStateException)