java.lang.Object | |
↳ | android.app.admin.DevicePolicyManager |
Public interface for managing policies enforced on a device. Most clients of this class must be registered with the system as a device administrator. Additionally, a device administrator may be registered as either a profile or device owner. A given method is accessible to all device administrators unless the documentation for that method specifies that it is restricted to either device or profile owners.
For more information about managing policies for device administration, read the Device Administration developer guide.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ACTION_ADD_DEVICE_ADMIN | Activity action: ask the user to add a new device administrator to the system. | |||||||||
String | ACTION_PROVISION_MANAGED_PROFILE | Activity action: Starts the provisioning flow which sets up a managed profile. | |||||||||
String | ACTION_SET_NEW_PASSWORD | Activity action: have the user enter a new password. | |||||||||
String | ACTION_START_ENCRYPTION | Activity action: begin the process of encrypting data on the device. | |||||||||
int | ENCRYPTION_STATUS_ACTIVATING |
Result code for setStorageEncryption(ComponentName, boolean) and getStorageEncryptionStatus() :
indicating that encryption is not currently active, but is currently
being activated.
|
|||||||||
int | ENCRYPTION_STATUS_ACTIVE |
Result code for setStorageEncryption(ComponentName, boolean) and getStorageEncryptionStatus() :
indicating that encryption is active.
|
|||||||||
int | ENCRYPTION_STATUS_INACTIVE |
Result code for setStorageEncryption(ComponentName, boolean) and getStorageEncryptionStatus() :
indicating that encryption is supported, but is not currently active.
|
|||||||||
int | ENCRYPTION_STATUS_UNSUPPORTED |
Result code for setStorageEncryption(ComponentName, boolean) and getStorageEncryptionStatus() :
indicating that encryption is not supported.
|
|||||||||
String | EXTRA_ADD_EXPLANATION | An optional CharSequence providing additional explanation for why the admin is being added. | |||||||||
String | EXTRA_DEVICE_ADMIN | The ComponentName of the administrator component. | |||||||||
String | EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE |
An Account extra holding the account to migrate during managed
profile provisioning.
|
|||||||||
String | EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE |
A Parcelable extra of type PersistableBundle that allows
a mobile device management application that starts managed profile provisioning to pass data
to itself on the managed profile when provisioning completes.
|
|||||||||
String | EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM |
A String extra holding the SHA-1 checksum of the file at download location specified in
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION .
|
|||||||||
String | EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER |
A String extra holding a http cookie header which should be used in the http request to the
url specified in EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION .
|
|||||||||
String | EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION | A String extra holding a url that specifies the download location of the device admin package. | |||||||||
String | EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME | A String extra holding the package name of the mobile device management application that will be set as the profile owner or device owner. | |||||||||
String | EXTRA_PROVISIONING_EMAIL_ADDRESS | A String extra that, holds the email address of the account which a managed profile is created for. | |||||||||
String | EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED |
A Boolean extra that can be used by the mobile device management application to skip the
disabling of system apps during provisioning when set to true .
|
|||||||||
String | EXTRA_PROVISIONING_LOCALE |
A String extra holding the Locale that the device will be set to.
|
|||||||||
String | EXTRA_PROVISIONING_LOCAL_TIME |
A Long extra holding the wall clock time (in milliseconds) to be set on the device's
AlarmManager .
|
|||||||||
String | EXTRA_PROVISIONING_TIME_ZONE |
A String extra holding the time zone AlarmManager that the device
will be set to.
|
|||||||||
String | EXTRA_PROVISIONING_WIFI_HIDDEN |
A boolean extra indicating whether the wifi network in EXTRA_PROVISIONING_WIFI_SSID
is hidden or not.
|
|||||||||
String | EXTRA_PROVISIONING_WIFI_PAC_URL |
A String extra holding the proxy auto-config (PAC) URL for the wifi network in
EXTRA_PROVISIONING_WIFI_SSID .
|
|||||||||
String | EXTRA_PROVISIONING_WIFI_PASSWORD |
A String extra holding the password of the wifi network in
EXTRA_PROVISIONING_WIFI_SSID .
|
|||||||||
String | EXTRA_PROVISIONING_WIFI_PROXY_BYPASS |
A String extra holding the proxy bypass for the wifi network in
EXTRA_PROVISIONING_WIFI_SSID .
|
|||||||||
String | EXTRA_PROVISIONING_WIFI_PROXY_HOST |
A String extra holding the proxy host for the wifi network in
EXTRA_PROVISIONING_WIFI_SSID .
|
|||||||||
String | EXTRA_PROVISIONING_WIFI_PROXY_PORT |
An int extra holding the proxy port for the wifi network in
EXTRA_PROVISIONING_WIFI_SSID .
|
|||||||||
String | EXTRA_PROVISIONING_WIFI_SECURITY_TYPE |
A String extra indicating the security type of the wifi network in
EXTRA_PROVISIONING_WIFI_SSID .
|
|||||||||
String | EXTRA_PROVISIONING_WIFI_SSID | A String extra holding the ssid of the wifi network that should be used during nfc device owner provisioning for downloading the mobile device management application. | |||||||||
int | FLAG_MANAGED_CAN_ACCESS_PARENT |
Flag used by addCrossProfileIntentFilter(ComponentName, IntentFilter, int) to allow activities in
the managed profile to access intents sent from the parent profile.
|
|||||||||
int | FLAG_PARENT_CAN_ACCESS_MANAGED |
Flag used by addCrossProfileIntentFilter(ComponentName, IntentFilter, int) to allow activities in
the parent profile to access intents sent from the managed profile.
|
|||||||||
int | KEYGUARD_DISABLE_FEATURES_ALL | Disable all current and future keyguard customizations. | |||||||||
int | KEYGUARD_DISABLE_FEATURES_NONE | Widgets are enabled in keyguard | |||||||||
int | KEYGUARD_DISABLE_FINGERPRINT | Disable fingerprint sensor on keyguard secure screens (e.g. | |||||||||
int | KEYGUARD_DISABLE_SECURE_CAMERA | Disable the camera on secure keyguard screens (e.g. | |||||||||
int | KEYGUARD_DISABLE_SECURE_NOTIFICATIONS | Disable showing all notifications on secure keyguard screens (e.g. | |||||||||
int | KEYGUARD_DISABLE_TRUST_AGENTS | Ignore trust agent state on secure keyguard screens (e.g. | |||||||||
int | KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS | Only allow redacted notifications on secure keyguard screens (e.g. | |||||||||
int | KEYGUARD_DISABLE_WIDGETS_ALL | Disable all keyguard widgets. | |||||||||
String | MIME_TYPE_PROVISIONING_NFC | This MIME type is used for starting the Device Owner provisioning. | |||||||||
int | PASSWORD_QUALITY_ALPHABETIC |
Constant for setPasswordQuality(ComponentName, int) : the user must have entered a
password containing at least alphabetic (or other symbol) characters.
|
|||||||||
int | PASSWORD_QUALITY_ALPHANUMERIC |
Constant for setPasswordQuality(ComponentName, int) : the user must have entered a
password containing at least both> numeric and
alphabetic (or other symbol) characters.
|
|||||||||
int | PASSWORD_QUALITY_BIOMETRIC_WEAK |
Constant for setPasswordQuality(ComponentName, int) : the policy allows for low-security biometric
recognition technology.
|
|||||||||
int | PASSWORD_QUALITY_COMPLEX |
Constant for setPasswordQuality(ComponentName, int) : the user must have entered a
password containing at least a letter, a numerical digit and a special
symbol, by default.
|
|||||||||
int | PASSWORD_QUALITY_NUMERIC |
Constant for setPasswordQuality(ComponentName, int) : the user must have entered a
password containing at least numeric characters.
|
|||||||||
int | PASSWORD_QUALITY_NUMERIC_COMPLEX |
Constant for setPasswordQuality(ComponentName, int) : the user must have entered a
password containing at least numeric characters with no repeating (4444)
or ordered (1234, 4321, 2468) sequences.
|
|||||||||
int | PASSWORD_QUALITY_SOMETHING |
Constant for setPasswordQuality(ComponentName, int) : the policy requires some kind
of password, but doesn't care what it is.
|
|||||||||
int | PASSWORD_QUALITY_UNSPECIFIED |
Constant for setPasswordQuality(ComponentName, int) : the policy has no requirements
for the password.
|
|||||||||
int | RESET_PASSWORD_REQUIRE_ENTRY |
Flag for resetPassword(String, int) : don't allow other admins to change
the password again until the user has entered it.
|
|||||||||
int | WIPE_EXTERNAL_STORAGE |
Flag for wipeData(int) : also erase the device's external
storage (such as SD cards).
|
|||||||||
int | WIPE_RESET_PROTECTION_DATA |
Flag for wipeData(int) : also erase the factory reset protection
data.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Called by the profile owner of a managed profile so that some intents sent in the managed
profile can also be resolved in the parent, or vice versa.
| |||||||||||
Called by the profile owner of a managed profile to enable widget providers from a
given package to be available in the parent profile.
| |||||||||||
Called by a profile owner or device owner to add a default intent handler activity for
intents that match a certain intent filter.
| |||||||||||
Called by a profile or device owner to set a user restriction specified
by the key.
| |||||||||||
Called by a profile owner of a managed profile to remove the cross-profile intent filters
that go from the managed profile to the parent, or from the parent to the managed profile.
| |||||||||||
Clears the current device owner.
| |||||||||||
Called by a profile owner or device owner to remove all persistent intent handler preferences
associated with the given package that were set by
addPersistentPreferredActivity(ComponentName, IntentFilter, ComponentName) .
| |||||||||||
Called by a profile or device owner to clear a user restriction specified
by the key.
| |||||||||||
Called by a device owner to create a user with the specified name.
| |||||||||||
Called by a device owner to create a user with the specified name.
| |||||||||||
Called by profile or device owner to re-enable a system app that was disabled by default
when the user was initialized.
| |||||||||||
Called by profile or device owner to re-enable system apps by intent that were disabled
by default when the user was initialized.
| |||||||||||
Gets the array of accounts for which account management is disabled by the profile owner.
| |||||||||||
Return a list of all currently active device administrator's component
names.
| |||||||||||
Called by a profile or device owner to get the application restrictions for a given target
application running in the profile.
| |||||||||||
Determine whether or not the device's cameras have been disabled for this user,
either by the current admin, if specified, or all admins.
| |||||||||||
Called by a profile owner of a managed profile to determine whether or not caller-Id
information has been disabled.
| |||||||||||
Called by the profile owner of a managed profile to query providers from which packages are
available in the parent profile.
| |||||||||||
Retrieve the number of times the user has failed at entering a
password since that last successful password entry.
| |||||||||||
Returns all CA certificates that are currently trusted, excluding system CA certificates.
| |||||||||||
Determine whether or not features have been disabled in keyguard either by the current
admin, if specified, or all admins.
| |||||||||||
Retrieve the current maximum number of login attempts that are allowed
before the device wipes itself, for all admins of this user and its profiles
or a particular one.
| |||||||||||
Retrieve the current maximum time to unlock for all admins of this user
and its profiles or a particular one.
| |||||||||||
Get the current password expiration time for the given admin or an aggregate of
all admins of this user and its profiles if admin is null.
| |||||||||||
Get the password expiration timeout for the given admin.
| |||||||||||
Retrieve the current password history length for all admins of this
user and its profiles or a particular one.
| |||||||||||
Return the maximum password length that the device supports for a
particular password quality.
| |||||||||||
Retrieve the current minimum password length for all admins of this
user and its profiles or a particular one.
| |||||||||||
Retrieve the current number of letters required in the password for all
admins or a particular one.
| |||||||||||
Retrieve the current number of lower case letters required in the
password for all admins of this user and its profiles or a particular one.
| |||||||||||
Retrieve the current number of non-letter characters required in the
password for all admins of this user and its profiles or a particular one.
| |||||||||||
Retrieve the current number of numerical digits required in the password
for all admins of this user and its profiles or a particular one.
| |||||||||||
Retrieve the current number of symbols required in the password for all
admins or a particular one.
| |||||||||||
Retrieve the current number of upper case letters required in the
password for all admins of this user and its profiles or a particular one.
| |||||||||||
Retrieve the current minimum password quality for all admins of this user
and its profiles or a particular one.
| |||||||||||
Returns the list of permitted accessibility services set by this device or profile owner.
| |||||||||||
Returns the list of permitted input methods set by this device or profile owner.
| |||||||||||
Determine whether or not screen capture has been disabled by the current
admin, if specified, or all admins.
| |||||||||||
Called by an application that is administering the device to
determine the requested setting for secure storage.
| |||||||||||
Called by an application that is administering the device to
determine the current encryption status of the device.
| |||||||||||
Gets configuration for the given trust agent based on aggregating all calls to
setTrustAgentConfiguration(ComponentName, ComponentName, PersistableBundle) for
all device admins.
| |||||||||||
Returns whether this certificate is installed as a trusted CA.
| |||||||||||
Returns true if an administrator has been granted a particular device policy.
| |||||||||||
Installs the given certificate as a user CA.
| |||||||||||
Called by a device or profile owner to install a certificate and private key pair.
| |||||||||||
Determine whether the current password the user has set is sufficient
to meet the policy requirements (quality, minimum length) that have been
requested by the admins of this user and its profiles.
| |||||||||||
Return true if the given administrator component is currently
active (enabled) in the system.
| |||||||||||
Called by device or profile owner to determine if a package is hidden.
| |||||||||||
Used to determine if a particular package has been registered as a Device Owner app.
| |||||||||||
This function lets the caller know whether the given component is allowed to start the
lock task mode.
| |||||||||||
Called by profile or device owners to check whether the master volume mute is on or off.
| |||||||||||
Used to determine if a particular package is registered as the profile owner for the
current user.
| |||||||||||
Check whether the current user has been blocked by device policy from uninstalling a package.
| |||||||||||
Make the device lock immediately, as if the lock screen timeout has
expired at the point of this call.
| |||||||||||
Remove a current administration component.
| |||||||||||
Called by the profile owner of a managed profile to disable widget providers from a given
package to be available in the parent profile.
| |||||||||||
Called by a device owner to remove a user and all associated data.
| |||||||||||
Force a new device unlock password (the password needed to access the
entire device, not for individual accounts) on the user.
| |||||||||||
Called by a device owner or profile owner to disable account management for a specific type
of account.
| |||||||||||
Called by device or profile owner to hide or unhide packages.
| |||||||||||
Called by a profile or device owner to set the application restrictions for a given target
application running in the profile.
| |||||||||||
Called by a device owner to set whether auto time is required.
| |||||||||||
Called by an application that is administering the device to disable all cameras
on the device, for this user.
| |||||||||||
Called by a profile owner of a managed profile to set whether caller-Id information from
the managed profile will be shown in the parent profile, for incoming calls.
| |||||||||||
Called by device owners to update
Settings.Global settings.
| |||||||||||
Called by an application that is administering the device to disable keyguard customizations,
such as widgets.
| |||||||||||
Sets which packages may enter lock task mode.
| |||||||||||
Called by profile or device owners to set the master volume mute on or off.
| |||||||||||
Setting this to a value greater than zero enables a built-in policy
that will perform a device wipe after too many incorrect
device-unlock passwords have been entered.
| |||||||||||
Called by an application that is administering the device to set the
maximum time for user activity until the device will lock.
| |||||||||||
Called by a device admin to set the password expiration timeout.
| |||||||||||
Called by an application that is administering the device to set the length
of the password history.
| |||||||||||
Called by an application that is administering the device to set the
minimum allowed password length.
| |||||||||||
Called by an application that is administering the device to set the
minimum number of letters required in the password.
| |||||||||||
Called by an application that is administering the device to set the
minimum number of lower case letters required in the password.
| |||||||||||
Called by an application that is administering the device to set the
minimum number of non-letter characters (numerical digits or symbols)
required in the password.
| |||||||||||
Called by an application that is administering the device to set the
minimum number of numerical digits required in the password.
| |||||||||||
Called by an application that is administering the device to set the
minimum number of symbols required in the password.
| |||||||||||
Called by an application that is administering the device to set the
minimum number of upper case letters required in the password.
| |||||||||||
Called by an application that is administering the device to set the
password restrictions it is imposing.
| |||||||||||
Called by a profile or device owner to set the permitted accessibility services.
| |||||||||||
Called by a profile or device owner to set the permitted input methods services.
| |||||||||||
Sets the enabled state of the profile.
| |||||||||||
Sets the name of the profile.
| |||||||||||
Set a network-independent global HTTP proxy.
| |||||||||||
Designates a specific service component as the provider for
making permission requests of a local or remote administrator of the user.
| |||||||||||
Called by a device/profile owner to set whether the screen capture is disabled.
| |||||||||||
Called by profile or device owners to update
Settings.Secure settings.
| |||||||||||
Called by an application that is administering the device to
request that the storage system be encrypted.
| |||||||||||
Sets a list of configuration features to enable for a TrustAgent component.
| |||||||||||
Called by profile or device owners to change whether a user can uninstall
a package.
| |||||||||||
Called by a device owner to switch the specified user to the foreground.
| |||||||||||
Uninstalls all custom trusted CA certificates from the profile.
| |||||||||||
Uninstalls the given certificate from trusted user CAs, if present.
| |||||||||||
Ask the user data be wiped.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Activity action: ask the user to add a new device administrator to the system.
The desired policy is the ComponentName of the policy in the
EXTRA_DEVICE_ADMIN
extra field. This will invoke a UI to
bring the user through adding the device administrator to the system (or
allowing them to reject it).
You can optionally include the EXTRA_ADD_EXPLANATION
field to provide the user with additional explanation (in addition
to your component's description) about what is being added.
If your administrator is already active, this will ordinarily return immediately (without user intervention). However, if your administrator has been updated and is requesting additional uses-policy flags, the user will be presented with the new list. New policies will not be available to the updated administrator until the user has accepted the new list.
Activity action: Starts the provisioning flow which sets up a managed profile.
A managed profile allows data separation for example for the usage of a device as a personal and corporate device. The user which provisioning is started from and the managed profile share a launcher.
This intent will typically be sent by a mobile device management application (mdm). Provisioning adds a managed profile and sets the mdm as the profile owner who has full control over the profile
This intent must contain the extra EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
.
When managed provisioning has completed, an intent of the type
ACTION_PROFILE_PROVISIONING_COMPLETE
is broadcasted to the
managed profile.
If provisioning fails, the managedProfile is removed so the device returns to its previous state.
Input: Nothing.
Output: Nothing
Activity action: have the user enter a new password. This activity should
be launched after using setPasswordQuality(ComponentName, int)
,
or setPasswordMinimumLength(ComponentName, int)
to have the user
enter a new password that meets the current requirements. You can use
isActivePasswordSufficient()
to determine whether you need to
have the user select a new password in order to meet the current
constraints. Upon being resumed from this activity, you can check the new
password characteristics to see if they are sufficient.
Activity action: begin the process of encrypting data on the device. This activity should
be launched after using setStorageEncryption(ComponentName, boolean)
to request encryption be activated.
After resuming from this activity, use getStorageEncryption(ComponentName)
to check encryption status. However, on some devices this activity may never return, as
it may trigger a reboot and in some cases a complete data wipe of the device.
Result code for setStorageEncryption(ComponentName, boolean)
and getStorageEncryptionStatus()
:
indicating that encryption is not currently active, but is currently
being activated. This is only reported by devices that support
encryption of data and only when the storage is currently
undergoing a process of becoming encrypted. A device that must reboot and/or wipe data
to become encrypted will never return this value.
Result code for setStorageEncryption(ComponentName, boolean)
and getStorageEncryptionStatus()
:
indicating that encryption is active.
Result code for setStorageEncryption(ComponentName, boolean)
and getStorageEncryptionStatus()
:
indicating that encryption is supported, but is not currently active.
Result code for setStorageEncryption(ComponentName, boolean)
and getStorageEncryptionStatus()
:
indicating that encryption is not supported.
An optional CharSequence providing additional explanation for why the admin is being added.
The ComponentName of the administrator component.
An Account
extra holding the account to migrate during managed
profile provisioning. If the account supplied is present in the primary user, it will be
copied, along with its credentials to the managed profile and removed from the primary user.
Use with ACTION_PROVISION_MANAGED_PROFILE
.
A Parcelable
extra of type PersistableBundle
that allows
a mobile device management application that starts managed profile provisioning to pass data
to itself on the managed profile when provisioning completes. The mobile device management
application sends this extra in an intent with the action
ACTION_PROVISION_MANAGED_PROFILE
and receives it in
onProfileProvisioningComplete(Context, Intent)
via an intent with the action
ACTION_PROFILE_PROVISIONING_COMPLETE
. The bundle is not changed
during the managed profile provisioning.
A String extra holding the SHA-1 checksum of the file at download location specified in
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION
. If this doesn't match
the file at the download location an error will be shown to the user and the user will be
asked to factory reset the device.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding a http cookie header which should be used in the http request to the
url specified in EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION
.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding a url that specifies the download location of the device admin package. When not provided it is assumed that the device admin package is already installed.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding the package name of the mobile device management application that will be set as the profile owner or device owner.
If an application starts provisioning directly via an intent with action
ACTION_PROVISION_MANAGED_PROFILE
this package has to match the package name of the
application that started provisioning. The package will be set as profile owner in that case.
This package is set as device owner when device owner provisioning is started by an NFC
message containing an NFC record with MIME type MIME_TYPE_PROVISIONING_NFC
.
A String extra that, holds the email address of the account which a managed profile is
created for. Used with ACTION_PROVISION_MANAGED_PROFILE
and
ACTION_PROFILE_PROVISIONING_COMPLETE
.
This extra is part of the EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
.
If the ACTION_PROVISION_MANAGED_PROFILE
intent that starts managed provisioning
contains this extra, it is forwarded in the
ACTION_PROFILE_PROVISIONING_COMPLETE
intent to the mobile
device management application that was set as the profile owner during provisioning.
It is usually used to avoid that the user has to enter their email address twice.
A Boolean extra that can be used by the mobile device management application to skip the
disabling of system apps during provisioning when set to true
.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding the Locale
that the device will be set to.
Format: xx_yy, where xx is the language code, and yy the country code.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A Long extra holding the wall clock time (in milliseconds) to be set on the device's
AlarmManager
.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding the time zone AlarmManager
that the device
will be set to.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A boolean extra indicating whether the wifi network in EXTRA_PROVISIONING_WIFI_SSID
is hidden or not.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding the proxy auto-config (PAC) URL for the wifi network in
EXTRA_PROVISIONING_WIFI_SSID
.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding the password of the wifi network in
EXTRA_PROVISIONING_WIFI_SSID
.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding the proxy bypass for the wifi network in
EXTRA_PROVISIONING_WIFI_SSID
.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding the proxy host for the wifi network in
EXTRA_PROVISIONING_WIFI_SSID
.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
An int extra holding the proxy port for the wifi network in
EXTRA_PROVISIONING_WIFI_SSID
.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra indicating the security type of the wifi network in
EXTRA_PROVISIONING_WIFI_SSID
.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
A String extra holding the ssid of the wifi network that should be used during nfc device owner provisioning for downloading the mobile device management application.
Use in an NFC record with MIME_TYPE_PROVISIONING_NFC
that starts device owner
provisioning via an NFC bump.
Flag used by addCrossProfileIntentFilter(ComponentName, IntentFilter, int)
to allow activities in
the managed profile to access intents sent from the parent profile.
That is, when an app in the parent profile calls
startActivity(Intent)
, the intent can be resolved by a
matching activity in the managed profile.
Flag used by addCrossProfileIntentFilter(ComponentName, IntentFilter, int)
to allow activities in
the parent profile to access intents sent from the managed profile.
That is, when an app in the managed profile calls
startActivity(Intent)
, the intent can be resolved by a
matching activity in the parent profile.
Disable all current and future keyguard customizations.
Widgets are enabled in keyguard
Disable fingerprint sensor on keyguard secure screens (e.g. PIN/Pattern/Password).
Disable the camera on secure keyguard screens (e.g. PIN/Pattern/Password)
Disable showing all notifications on secure keyguard screens (e.g. PIN/Pattern/Password)
Ignore trust agent state on secure keyguard screens (e.g. PIN/Pattern/Password).
Only allow redacted notifications on secure keyguard screens (e.g. PIN/Pattern/Password)
Disable all keyguard widgets. Has no effect.
This MIME type is used for starting the Device Owner provisioning.
During device owner provisioning a device admin app is set as the owner of the device. A device owner has full control over the device. The device owner can not be modified by the user and the only way of resetting the device is if the device owner app calls a factory reset.
A typical use case would be a device that is owned by a company, but used by either an employee or client.
The NFC message should be send to an unprovisioned device.
The NFC record must contain a serialized Properties
object which
contains the following properties:
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER
, optionalEXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM
EXTRA_PROVISIONING_LOCAL_TIME
(convert to String), optionalEXTRA_PROVISIONING_TIME_ZONE
, optionalEXTRA_PROVISIONING_LOCALE
, optionalEXTRA_PROVISIONING_WIFI_SSID
, optionalEXTRA_PROVISIONING_WIFI_HIDDEN
(convert to String), optionalEXTRA_PROVISIONING_WIFI_SECURITY_TYPE
, optionalEXTRA_PROVISIONING_WIFI_PASSWORD
, optionalEXTRA_PROVISIONING_WIFI_PROXY_HOST
, optionalEXTRA_PROVISIONING_WIFI_PROXY_PORT
(convert to String), optionalEXTRA_PROVISIONING_WIFI_PROXY_BYPASS
, optionalEXTRA_PROVISIONING_WIFI_PAC_URL
, optional When device owner provisioning has completed, an intent of the type
ACTION_PROFILE_PROVISIONING_COMPLETE
is broadcasted to the
device owner.
If provisioning fails, the device is factory reset.
Input: Nothing.
Output: Nothing
Constant for setPasswordQuality(ComponentName, int)
: the user must have entered a
password containing at least alphabetic (or other symbol) characters.
Note that quality constants are ordered so that higher values are more
restrictive.
Constant for setPasswordQuality(ComponentName, int)
: the user must have entered a
password containing at least both> numeric and
alphabetic (or other symbol) characters. Note that quality constants are
ordered so that higher values are more restrictive.
Constant for setPasswordQuality(ComponentName, int)
: the policy allows for low-security biometric
recognition technology. This implies technologies that can recognize the identity of
an individual to about a 3 digit PIN (false detection is less than 1 in 1,000).
Note that quality constants are ordered so that higher values are more restrictive.
Constant for setPasswordQuality(ComponentName, int)
: the user must have entered a
password containing at least a letter, a numerical digit and a special
symbol, by default. With this password quality, passwords can be
restricted to contain various sets of characters, like at least an
uppercase letter, etc. These are specified using various methods,
like setPasswordMinimumLowerCase(ComponentName, int)
. Note
that quality constants are ordered so that higher values are more
restrictive.
Constant for setPasswordQuality(ComponentName, int)
: the user must have entered a
password containing at least numeric characters. Note that quality
constants are ordered so that higher values are more restrictive.
Constant for setPasswordQuality(ComponentName, int)
: the user must have entered a
password containing at least numeric characters with no repeating (4444)
or ordered (1234, 4321, 2468) sequences. Note that quality
constants are ordered so that higher values are more restrictive.
Constant for setPasswordQuality(ComponentName, int)
: the policy requires some kind
of password, but doesn't care what it is. Note that quality constants
are ordered so that higher values are more restrictive.
Constant for setPasswordQuality(ComponentName, int)
: the policy has no requirements
for the password. Note that quality constants are ordered so that higher
values are more restrictive.
Flag for resetPassword(String, int)
: don't allow other admins to change
the password again until the user has entered it.
Flag for wipeData(int)
: also erase the device's external
storage (such as SD cards).
Flag for wipeData(int)
: also erase the factory reset protection
data.
This flag may only be set by device owner admins; if it is set by
other admins a SecurityException
will be thrown.
Called by the profile owner of a managed profile so that some intents sent in the managed profile can also be resolved in the parent, or vice versa. Only activity intents are supported.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
filter | The IntentFilter the intent has to match to be also resolved in the
other profile |
flags | FLAG_MANAGED_CAN_ACCESS_PARENT and
FLAG_PARENT_CAN_ACCESS_MANAGED are supported.
|
Called by the profile owner of a managed profile to enable widget providers from a given package to be available in the parent profile. As a result the user will be able to add widgets from the white-listed package running under the profile to a widget host which runs under the parent profile, for example the home screen. Note that a package may have zero or more provider components, where each component provides a different widget type.
Note: By default no widget provider package is white-listed.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageName | The package from which widget providers are white-listed. |
Called by a profile owner or device owner to add a default intent handler activity for intents that match a certain intent filter. This activity will remain the default intent handler even if the set of potential event handlers for the intent filter changes and if the intent preferences are reset.
The default disambiguation mechanism takes over if the activity is not installed (anymore). When the activity is (re)installed, it is automatically reset as default intent handler for the filter.
The calling device admin must be a profile owner or device owner. If it is not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
filter | The IntentFilter for which a default handler is added. |
activity | The Activity that is added as default intent handler. |
Called by a profile or device owner to set a user restriction specified by the key.
The calling device admin must be a profile or device owner; if it is not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
key | The key of the restriction. See the constants in
UserManager for the list of keys.
|
Called by a profile owner of a managed profile to remove the cross-profile intent filters that go from the managed profile to the parent, or from the parent to the managed profile. Only removes those that have been set by the profile owner.
admin | Which DeviceAdminReceiver this request is associated with.
|
---|
Clears the current device owner. The caller must be the device owner. This function should be used cautiously as once it is called it cannot be undone. The device owner can only be set as a part of device setup before setup completes.
packageName | The package name of the device owner. |
---|
Called by a profile owner or device owner to remove all persistent intent handler preferences
associated with the given package that were set by addPersistentPreferredActivity(ComponentName, IntentFilter, ComponentName)
.
The calling device admin must be a profile owner. If it is not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageName | The name of the package for which preferences are removed. |
Called by a profile or device owner to clear a user restriction specified by the key.
The calling device admin must be a profile or device owner; if it is not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
key | The key of the restriction. See the constants in
UserManager for the list of keys.
|
Called by a device owner to create a user with the specified name. The UserHandle returned
by this method should not be persisted as user handles are recycled as users are removed and
created. If you need to persist an identifier for this user, use
getSerialNumberForUser(UserHandle)
. The new user will be started in the background
immediately.
profileOwnerComponent is the DeviceAdminReceiver
to be the profile owner as well
as registered as an active admin on the new user. The profile owner package will be
installed on the new user if it already is installed on the device.
If the optionalInitializeData is not null, then the extras will be passed to the profileOwnerComponent when onEnable is called.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
name | the user's name |
ownerName | the human readable name of the organisation associated with this DPM. |
profileOwnerComponent | The DeviceAdminReceiver that will be an active admin on
the user. |
adminExtras | Extras that will be passed to onEnable of the admin receiver on the new user. |
Called by a device owner to create a user with the specified name. The UserHandle returned
by this method should not be persisted as user handles are recycled as users are removed and
created. If you need to persist an identifier for this user, use
getSerialNumberForUser(UserHandle)
.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
name | the user's name |
Called by profile or device owner to re-enable a system app that was disabled by default when the user was initialized.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageName | The package to be re-enabled in the current profile. |
Called by profile or device owner to re-enable system apps by intent that were disabled by default when the user was initialized.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
intent | An intent matching the app(s) to be installed. All apps that resolve for this intent will be re-enabled in the current profile. |
Gets the array of accounts for which account management is disabled by the profile owner.
Account management can be disabled/enabled by calling
setAccountManagementDisabled(ComponentName, String, boolean)
.
Return a list of all currently active device administrator's component names. Note that if there are no administrators than null may be returned.
Called by a profile or device owner to get the application restrictions for a given target application running in the profile.
The calling device admin must be a profile or device owner; if it is not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageName | The name of the package to fetch restricted settings of. |
Bundle
of settings corresponding to what was set last time
setApplicationRestrictions(ComponentName, String, Bundle)
was called, or an empty Bundle
if no restrictions have been set.
Determine whether or not the device's cameras have been disabled for this user, either by the current admin, if specified, or all admins.
admin | The name of the admin component to check, or null to check if any admins have disabled the camera |
---|
Called by a profile owner of a managed profile to determine whether or not caller-Id information has been disabled.
The calling device admin must be a profile owner. If it is not, a security exception will be thrown.
who | Which DeviceAdminReceiver this request is associated with.
|
---|
Called by the profile owner of a managed profile to query providers from which packages are available in the parent profile.
admin | Which DeviceAdminReceiver this request is associated with. |
---|
Retrieve the number of times the user has failed at entering a password since that last successful password entry.
The calling device admin must have requested
USES_POLICY_WATCH_LOGIN
to be able to call
this method; if it has not, a security exception will be thrown.
Returns all CA certificates that are currently trusted, excluding system CA certificates. If a user has installed any certificates by other means than device policy these will be included too.
admin | Which DeviceAdminReceiver this request is associated with. |
---|
Determine whether or not features have been disabled in keyguard either by the current admin, if specified, or all admins.
admin | The name of the admin component to check, or null to check if any admins have disabled features in keyguard. |
---|
setKeyguardDisabledFeatures(ComponentName, int)
for a list.
Retrieve the current maximum number of login attempts that are allowed before the device wipes itself, for all admins of this user and its profiles or a particular one.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Retrieve the current maximum time to unlock for all admins of this user and its profiles or a particular one.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Get the current password expiration time for the given admin or an aggregate of all admins of this user and its profiles if admin is null. If the password is expired, this will return the time since the password expired as a negative number. If admin is null, then a composite of all expiration timeouts is returned - which will be the minimum of all timeouts.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Get the password expiration timeout for the given admin. The expiration timeout is the
recurring expiration timeout provided in the call to
setPasswordExpirationTimeout(ComponentName, long)
for the given admin or the
aggregate of all policy administrators if admin is null.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Retrieve the current password history length for all admins of this user and its profiles or a particular one.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Return the maximum password length that the device supports for a particular password quality.
quality | The quality being interrogated. |
---|
Retrieve the current minimum password length for all admins of this user and its profiles or a particular one.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Retrieve the current number of letters required in the password for all
admins or a particular one. This is the same value as
set by {#link setPasswordMinimumLetters(ComponentName, int)
and only applies when the password quality is
PASSWORD_QUALITY_COMPLEX
.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Retrieve the current number of lower case letters required in the
password for all admins of this user and its profiles or a particular one.
This is the same value as set by
{#link setPasswordMinimumLowerCase(ComponentName, int)
and only applies when the password quality is
PASSWORD_QUALITY_COMPLEX
.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Retrieve the current number of non-letter characters required in the
password for all admins of this user and its profiles or a particular one.
This is the same value as set by
{#link setPasswordMinimumNonLetter(ComponentName, int)
and only applies when the password quality is
PASSWORD_QUALITY_COMPLEX
.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Retrieve the current number of numerical digits required in the password
for all admins of this user and its profiles or a particular one.
This is the same value as set by
{#link setPasswordMinimumNumeric(ComponentName, int)
and only applies when the password quality is
PASSWORD_QUALITY_COMPLEX
.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Retrieve the current number of symbols required in the password for all
admins or a particular one. This is the same value as
set by {#link setPasswordMinimumSymbols(ComponentName, int)
and only applies when the password quality is
PASSWORD_QUALITY_COMPLEX
.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Retrieve the current number of upper case letters required in the
password for all admins of this user and its profiles or a particular one.
This is the same value as set by
{#link setPasswordMinimumUpperCase(ComponentName, int)
and only applies when the password quality is
PASSWORD_QUALITY_COMPLEX
.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Retrieve the current minimum password quality for all admins of this user and its profiles or a particular one.
admin | The name of the admin component to check, or null to aggregate all admins. |
---|
Returns the list of permitted accessibility services set by this device or profile owner.
An empty list means no accessibility services except system services are allowed. Null means all accessibility services are allowed.
admin | Which DeviceAdminReceiver this request is associated with. |
---|
Returns the list of permitted input methods set by this device or profile owner.
An empty list means no input methods except system input methods are allowed. Null means all input methods are allowed.
admin | Which DeviceAdminReceiver this request is associated with. |
---|
Determine whether or not screen capture has been disabled by the current admin, if specified, or all admins.
admin | The name of the admin component to check, or null to check if any admins have disabled screen capture. |
---|
Called by an application that is administering the device to determine the requested setting for secure storage.
admin | Which DeviceAdminReceiver this request is associated with. If null,
this will return the requested encryption setting as an aggregate of all active
administrators. |
---|
Called by an application that is administering the device to
determine the current encryption status of the device.
Depending on the returned status code, the caller may proceed in different
ways. If the result is ENCRYPTION_STATUS_UNSUPPORTED
, the
storage system does not support encryption. If the
result is ENCRYPTION_STATUS_INACTIVE
, use ACTION_START_ENCRYPTION
to begin the process of encrypting or decrypting the
storage. If the result is ENCRYPTION_STATUS_ACTIVATING
or
ENCRYPTION_STATUS_ACTIVE
, no further action is required.
ENCRYPTION_STATUS_UNSUPPORTED
, ENCRYPTION_STATUS_INACTIVE
,
ENCRYPTION_STATUS_ACTIVATING
, orENCRYPTION_STATUS_ACTIVE
.
Gets configuration for the given trust agent based on aggregating all calls to
setTrustAgentConfiguration(ComponentName, ComponentName, PersistableBundle)
for
all device admins.
admin | Which DeviceAdminReceiver this request is associated with. If null,
this function returns a list of configurations for all admins that declare
KEYGUARD_DISABLE_TRUST_AGENTS . If any admin declares
KEYGUARD_DISABLE_TRUST_AGENTS but doesn't call
setTrustAgentConfiguration(ComponentName, ComponentName, PersistableBundle)
for this or calls it with a null configuration, null is returned. |
---|---|
agent | Which component to get enabled features for. |
Returns whether this certificate is installed as a trusted CA.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
certBuffer | encoded form of the certificate to look up. |
Returns true if an administrator has been granted a particular device policy. This can be used to check if the administrator was activated under an earlier set of policies, but requires additional policies after an upgrade.
admin | Which DeviceAdminReceiver this request is associated with. Must be
an active administrator, or an exception will be thrown. |
---|---|
usesPolicy | Which uses-policy to check, as defined in DeviceAdminInfo .
|
Installs the given certificate as a user CA.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
certBuffer | encoded form of the certificate to install. |
Called by a device or profile owner to install a certificate and private key pair. The keypair will be visible to all apps within the profile.
who | Which DeviceAdminReceiver this request is associated with. |
---|---|
privKey | The private key to install. |
cert | The certificate to install. |
alias | The private key alias under which to install the certificate. If a certificate with that alias already exists, it will be overwritten. |
true
if the keys were installed, false
otherwise.
Determine whether the current password the user has set is sufficient to meet the policy requirements (quality, minimum length) that have been requested by the admins of this user and its profiles.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
Return true if the given administrator component is currently active (enabled) in the system.
Called by device or profile owner to determine if a package is hidden.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageName | The name of the package to retrieve the hidden status of. |
true
if the package is hidden, false
otherwise.
Used to determine if a particular package has been registered as a Device Owner app.
A device owner app is a special device admin that cannot be deactivated by the user, once
activated as a device admin. It also cannot be uninstalled. To check if a particular
package is currently registered as the device owner app, pass in the package name from
getPackageName()
to this method.
packageName | the package name of the app, to compare with the registered device owner app, if any. |
---|
This function lets the caller know whether the given component is allowed to start the lock task mode.
pkg | The package to check |
---|
Called by profile or device owners to check whether the master volume mute is on or off.
admin | Which DeviceAdminReceiver this request is associated with. |
---|
true
if master volume is muted, false
if it's not.
Used to determine if a particular package is registered as the profile owner for the current user. A profile owner is a special device admin that has additional privileges within the profile.
packageName | The package name of the app to compare with the registered profile owner. |
---|
Check whether the current user has been blocked by device policy from uninstalling a package. Requires the caller to be the profile owner if checking a specific admin's policy.
admin | The name of the admin component whose blocking policy will be checked, or null to check if any admin has blocked the uninstallation. |
---|---|
packageName | package to check. |
Make the device lock immediately, as if the lock screen timeout has expired at the point of this call.
The calling device admin must have requested
USES_POLICY_FORCE_LOCK
to be able to call
this method; if it has not, a security exception will be thrown.
Remove a current administration component. This can only be called by the application that owns the administration component; if you try to remove someone else's component, a security exception will be thrown.
Called by the profile owner of a managed profile to disable widget providers from a given
package to be available in the parent profile. For this method to take effect the
package should have been added via addCrossProfileWidgetProvider(android.content.ComponentName, String)
.
Note: By default no widget provider package is white-listed.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageName | The package from which widget providers are no longer white-listed. |
Called by a device owner to remove a user and all associated data. The primary user can not be removed.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
userHandle | the user to remove. |
true
if the user was removed, false
otherwise.
Force a new device unlock password (the password needed to access the
entire device, not for individual accounts) on the user. This takes
effect immediately.
The given password must be sufficient for the
current password quality and length constraints as returned by
getPasswordQuality(ComponentName)
and
getPasswordMinimumLength(ComponentName)
; if it does not meet
these constraints, then it will be rejected and false returned. Note
that the password may be a stronger quality (containing alphanumeric
characters when the requested quality is only numeric), in which case
the currently active quality will be increased to match.
Calling with a null or empty password will clear any existing PIN, pattern or password if the current password constraints allow it.
The calling device admin must have requested
USES_POLICY_RESET_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
Calling this from a managed profile will throw a security exception.
password | The new password for the user. Null or empty clears the password. |
---|---|
flags | May be 0 or RESET_PASSWORD_REQUIRE_ENTRY . |
Called by a device owner or profile owner to disable account management for a specific type of account.
The calling device admin must be a device owner or profile owner. If it is not, a security exception will be thrown.
When account management is disabled for an account type, adding or removing an account of that type will not be possible.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
accountType | For which account management is disabled or enabled. |
disabled | The boolean indicating that account management will be disabled (true) or enabled (false). |
Called by device or profile owner to hide or unhide packages. When a package is hidden it is unavailable for use, but the data and actual package file remain.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageName | The name of the package to hide or unhide. |
hidden | true if the package should be hidden, false if it should be
unhidden. |
Called by a profile or device owner to set the application restrictions for a given target application running in the profile.
The provided Bundle
consists of key-value pairs, where the types of values may be
boolean, int, String, or String[].
The application restrictions are only made visible to the target application and the profile or device owner.
If the restrictions are not available yet, but may be applied in the near future,
the admin can notify the target application of that by adding
KEY_RESTRICTIONS_PENDING
to the settings parameter.
The calling device admin must be a profile or device owner; if it is not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageName | The name of the package to update restricted settings for. |
settings | A Bundle to be parsed by the receiving application, conveying a new
set of active restrictions. |
Called by a device owner to set whether auto time is required. If auto time is required the user cannot set the date and time, but has to use network date and time.
Note: if auto time is required the user can still manually set the time zone.
The calling device admin must be a device owner. If it is not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
required | Whether auto time is set required or not. |
Called by an application that is administering the device to disable all cameras on the device, for this user. After setting this, no applications running as this user will be able to access any cameras on the device.
The calling device admin must have requested
USES_POLICY_DISABLE_CAMERA
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
disabled | Whether or not the camera should be disabled. |
Called by a profile owner of a managed profile to set whether caller-Id information from the managed profile will be shown in the parent profile, for incoming calls.
The calling device admin must be a profile owner. If it is not, a security exception will be thrown.
who | Which DeviceAdminReceiver this request is associated with. |
---|---|
disabled | If true caller-Id information in the managed profile is not displayed. |
Called by device owners to update Settings.Global
settings. Validation that the value
of the setting is in the correct form for the setting type should be performed by the caller.
The settings that can be updated with this method are:
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
setting | The name of the setting to update. |
value | The value to update the setting to. |
Called by an application that is administering the device to disable keyguard customizations, such as widgets. After setting this, keyguard features will be disabled according to the provided feature list.
The calling device admin must have requested
USES_POLICY_DISABLE_KEYGUARD_FEATURES
to be able to call
this method; if it has not, a security exception will be thrown.
Calling this from a managed profile will throw a security exception.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
which | KEYGUARD_DISABLE_FEATURES_NONE (default),
KEYGUARD_DISABLE_WIDGETS_ALL , KEYGUARD_DISABLE_SECURE_CAMERA ,
KEYGUARD_DISABLE_SECURE_NOTIFICATIONS , KEYGUARD_DISABLE_TRUST_AGENTS ,
KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS , KEYGUARD_DISABLE_FEATURES_ALL
|
Sets which packages may enter lock task mode.
Any packages that shares uid with an allowed package will also be allowed to activate lock task. This function can only be called by the device owner.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packages | The list of packages allowed to enter lock task mode |
SecurityException |
---|
Called by profile or device owners to set the master volume mute on or off.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
on | true to mute master volume, false to turn mute off.
|
Setting this to a value greater than zero enables a built-in policy
that will perform a device wipe after too many incorrect
device-unlock passwords have been entered. This built-in policy combines
watching for failed passwords and wiping the device, and requires
that you request both USES_POLICY_WATCH_LOGIN
and
USES_POLICY_WIPE_DATA
}.
To implement any other policy (e.g. wiping data for a particular
application only, erasing or revoking credentials, or reporting the
failure to a server), you should implement
onPasswordFailed(Context, android.content.Intent)
instead. Do not use this API, because if the maximum count is reached,
the device will be wiped immediately, and your callback will not be invoked.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
num | The number of failed password attempts at which point the device will wipe its data. |
Called by an application that is administering the device to set the maximum time for user activity until the device will lock. This limits the length that the user can set. It takes effect immediately.
The calling device admin must have requested
USES_POLICY_FORCE_LOCK
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
timeMs | The new desired maximum time to lock in milliseconds. A value of 0 means there is no restriction. |
Called by a device admin to set the password expiration timeout. Calling this method will restart the countdown for password expiration for the given admin, as will changing the device password (for all admins).
The provided timeout is the time delta in ms and will be added to the current time. For example, to have the password expire 5 days from now, timeout would be 5 * 86400 * 1000 = 432000000 ms for timeout.
To disable password expiration, a value of 0 may be used for timeout.
The calling device admin must have requested
USES_POLICY_EXPIRE_PASSWORD
to be able to call this
method; if it has not, a security exception will be thrown.
Note that setting the password will automatically reset the expiration time for all active admins. Active admins do not need to explicitly call this method in that case.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
timeout | The limit (in ms) that a password can remain in effect. A value of 0 means there is no restriction (unlimited). |
Called by an application that is administering the device to set the length
of the password history. After setting this, the user will not be able to
enter a new password that is the same as any password in the history. Note
that the current password will remain until the user has set a new one, so
the change does not take place immediately. To prompt the user for a new
password, use ACTION_SET_NEW_PASSWORD
after setting this value.
This constraint is only imposed if the administrator has also requested
either PASSWORD_QUALITY_NUMERIC
, PASSWORD_QUALITY_NUMERIC_COMPLEX
PASSWORD_QUALITY_ALPHABETIC
, or PASSWORD_QUALITY_ALPHANUMERIC
with setPasswordQuality(ComponentName, int)
.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call this
method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
length | The new desired length of password history. A value of 0 means there is no restriction. |
Called by an application that is administering the device to set the
minimum allowed password length. After setting this, the user
will not be able to enter a new password that is not at least as
restrictive as what has been set. Note that the current password
will remain until the user has set a new one, so the change does not
take place immediately. To prompt the user for a new password, use
ACTION_SET_NEW_PASSWORD
after setting this value. This
constraint is only imposed if the administrator has also requested either
PASSWORD_QUALITY_NUMERIC
, PASSWORD_QUALITY_NUMERIC_COMPLEX
,
PASSWORD_QUALITY_ALPHABETIC
, PASSWORD_QUALITY_ALPHANUMERIC
,
or PASSWORD_QUALITY_COMPLEX
with setPasswordQuality(ComponentName, int)
.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
length | The new desired minimum password length. A value of 0 means there is no restriction. |
Called by an application that is administering the device to set the
minimum number of letters required in the password. After setting this,
the user will not be able to enter a new password that is not at least as
restrictive as what has been set. Note that the current password will
remain until the user has set a new one, so the change does not take
place immediately. To prompt the user for a new password, use
ACTION_SET_NEW_PASSWORD
after setting this value. This
constraint is only imposed if the administrator has also requested
PASSWORD_QUALITY_COMPLEX
with setPasswordQuality(ComponentName, int)
. The
default value is 1.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
length | The new desired minimum number of letters required in the password. A value of 0 means there is no restriction. |
Called by an application that is administering the device to set the
minimum number of lower case letters required in the password. After
setting this, the user will not be able to enter a new password that is
not at least as restrictive as what has been set. Note that the current
password will remain until the user has set a new one, so the change does
not take place immediately. To prompt the user for a new password, use
ACTION_SET_NEW_PASSWORD
after setting this value. This
constraint is only imposed if the administrator has also requested
PASSWORD_QUALITY_COMPLEX
with setPasswordQuality(ComponentName, int)
. The
default value is 0.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
length | The new desired minimum number of lower case letters required in the password. A value of 0 means there is no restriction. |
Called by an application that is administering the device to set the
minimum number of non-letter characters (numerical digits or symbols)
required in the password. After setting this, the user will not be able
to enter a new password that is not at least as restrictive as what has
been set. Note that the current password will remain until the user has
set a new one, so the change does not take place immediately. To prompt
the user for a new password, use ACTION_SET_NEW_PASSWORD
after
setting this value. This constraint is only imposed if the administrator
has also requested PASSWORD_QUALITY_COMPLEX
with
setPasswordQuality(ComponentName, int)
. The default value is 0.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
length | The new desired minimum number of letters required in the password. A value of 0 means there is no restriction. |
Called by an application that is administering the device to set the
minimum number of numerical digits required in the password. After
setting this, the user will not be able to enter a new password that is
not at least as restrictive as what has been set. Note that the current
password will remain until the user has set a new one, so the change does
not take place immediately. To prompt the user for a new password, use
ACTION_SET_NEW_PASSWORD
after setting this value. This
constraint is only imposed if the administrator has also requested
PASSWORD_QUALITY_COMPLEX
with setPasswordQuality(ComponentName, int)
. The
default value is 1.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
length | The new desired minimum number of numerical digits required in the password. A value of 0 means there is no restriction. |
Called by an application that is administering the device to set the
minimum number of symbols required in the password. After setting this,
the user will not be able to enter a new password that is not at least as
restrictive as what has been set. Note that the current password will
remain until the user has set a new one, so the change does not take
place immediately. To prompt the user for a new password, use
ACTION_SET_NEW_PASSWORD
after setting this value. This
constraint is only imposed if the administrator has also requested
PASSWORD_QUALITY_COMPLEX
with setPasswordQuality(ComponentName, int)
. The
default value is 1.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
length | The new desired minimum number of symbols required in the password. A value of 0 means there is no restriction. |
Called by an application that is administering the device to set the
minimum number of upper case letters required in the password. After
setting this, the user will not be able to enter a new password that is
not at least as restrictive as what has been set. Note that the current
password will remain until the user has set a new one, so the change does
not take place immediately. To prompt the user for a new password, use
ACTION_SET_NEW_PASSWORD
after setting this value. This
constraint is only imposed if the administrator has also requested
PASSWORD_QUALITY_COMPLEX
with setPasswordQuality(ComponentName, int)
. The
default value is 0.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
length | The new desired minimum number of upper case letters required in the password. A value of 0 means there is no restriction. |
Called by an application that is administering the device to set the
password restrictions it is imposing. After setting this, the user
will not be able to enter a new password that is not at least as
restrictive as what has been set. Note that the current password
will remain until the user has set a new one, so the change does not
take place immediately. To prompt the user for a new password, use
ACTION_SET_NEW_PASSWORD
after setting this value.
Quality constants are ordered so that higher values are more restrictive; thus the highest requested quality constant (between the policy set here, the user's preference, and any other considerations) is the one that is in effect.
The calling device admin must have requested
USES_POLICY_LIMIT_PASSWORD
to be able to call
this method; if it has not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
quality | The new desired quality. One of
PASSWORD_QUALITY_UNSPECIFIED , PASSWORD_QUALITY_SOMETHING ,
PASSWORD_QUALITY_NUMERIC , PASSWORD_QUALITY_NUMERIC_COMPLEX ,
PASSWORD_QUALITY_ALPHABETIC , PASSWORD_QUALITY_ALPHANUMERIC
or PASSWORD_QUALITY_COMPLEX .
|
Called by a profile or device owner to set the permitted accessibility services. When set by a device owner or profile owner the restriction applies to all profiles of the user the device owner or profile owner is an admin for. By default the user can use any accessiblity service. When zero or more packages have been added, accessiblity services that are not in the list and not part of the system can not be enabled by the user.
Calling with a null value for the list disables the restriction so that all services can be used, calling with an empty list only allows the builtin system's services.
System accesibility services are always available to the user the list can't modify this.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageNames | List of accessibility service package names. |
Called by a profile or device owner to set the permitted input methods services. When set by a device owner or profile owner the restriction applies to all profiles of the user the device owner or profile owner is an admin for. By default the user can use any input method. When zero or more packages have been added, input method that are not in the list and not part of the system can not be enabled by the user. This method will fail if it is called for a admin that is not for the foreground user or a profile of the foreground user.
Calling with a null value for the list disables the restriction so that all input methods can be used, calling with an empty list disables all but the system's own input methods.
System input methods are always available to the user this method can't modify this.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageNames | List of input method package names. |
Sets the enabled state of the profile. A profile should be enabled only once it is ready to be used. Only the profile owner can call this.
admin | Which DeviceAdminReceiver this request is associated with.
|
---|
Sets the name of the profile. In the device owner case it sets the name of the user which it is called from. Only a profile owner or device owner can call this. If this is never called by the profile or device owner, the name will be set to default values.
profileName | The name of the profile. |
---|
Set a network-independent global HTTP proxy. This is not normally what you want for typical HTTP proxies - they are generally network dependent. However if you're doing something unusual like general internal filtering this may be useful. On a private network where the proxy is not accessible, you may break HTTP using this.
This method requires the caller to be the device owner.
This proxy is only a recommendation and it is possible that some apps will ignore it.
admin | Which DeviceAdminReceiver this request is associated
with. |
---|---|
proxyInfo | The a ProxyInfo object defining the new global
HTTP proxy. A null value will clear the global HTTP proxy.
|
Designates a specific service component as the provider for making permission requests of a local or remote administrator of the user.
Only a profile owner can designate the restrictions provider.admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
provider | The component name of the service that implements
RestrictionsReceiver . If this param is null,
it removes the restrictions provider previously assigned.
|
Called by a device/profile owner to set whether the screen capture is disabled. Disabling
screen capture also prevents the content from being shown on display devices that do not have
a secure video output. See FLAG_SECURE
for more details about
secure surfaces and secure displays.
The calling device admin must be a device or profile owner. If it is not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
disabled | Whether screen capture is disabled or not. |
Called by profile or device owners to update Settings.Secure
settings. Validation
that the value of the setting is in the correct form for the setting type should be performed
by the caller.
The settings that can be updated by a profile or device owner with this method are:
A device owner can additionally update the following settings:
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
setting | The name of the setting to update. |
value | The value to update the setting to. |
Called by an application that is administering the device to request that the storage system be encrypted.
When multiple device administrators attempt to control device
encryption, the most secure, supported setting will always be
used. If any device administrator requests device encryption,
it will be enabled; Conversely, if a device administrator
attempts to disable device encryption while another
device administrator has enabled it, the call to disable will
fail (most commonly returning ENCRYPTION_STATUS_ACTIVE
).
This policy controls encryption of the secure (application data) storage area. Data
written to other storage areas may or may not be encrypted, and this policy does not require
or control the encryption of any other storage areas.
There is one exception: If isExternalStorageEmulated()
is
true
, then the directory returned by
getExternalStorageDirectory()
must be written to disk
within the encrypted storage area.
Important Note: On some devices, it is possible to encrypt storage without requiring the user to create a device PIN or Password. In this case, the storage is encrypted, but the encryption key may not be fully secured. For maximum security, the administrator should also require (and check for) a pattern, PIN, or password.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
encrypt | true to request encryption, false to release any previous request |
ENCRYPTION_STATUS_UNSUPPORTED
, ENCRYPTION_STATUS_INACTIVE
, or
ENCRYPTION_STATUS_ACTIVE
. This is the value of the requests; Use
getStorageEncryptionStatus()
to query the actual device state.
Sets a list of configuration features to enable for a TrustAgent component. This is meant
to be used in conjunction with KEYGUARD_DISABLE_TRUST_AGENTS
, which disables all
trust agents but those enabled by this function call. If flag
KEYGUARD_DISABLE_TRUST_AGENTS
is not set, then this call has no effect.
The calling device admin must have requested
USES_POLICY_DISABLE_KEYGUARD_FEATURES
to be able to call
this method; if not, a security exception will be thrown.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
target | Component name of the agent to be enabled. |
configuration | TrustAgent-specific feature bundle. If null for any admin, agent
will be strictly disabled according to the state of the
KEYGUARD_DISABLE_TRUST_AGENTS flag.
If Consult documentation for the specific TrustAgent to determine legal options parameters. |
Called by profile or device owners to change whether a user can uninstall a package.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
packageName | package to change. |
uninstallBlocked | true if the user shouldn't be able to uninstall the package. |
Called by a device owner to switch the specified user to the foreground.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
userHandle | the user to switch to; null will switch to primary. |
true
if the switch was successful, false
otherwise.Uninstalls all custom trusted CA certificates from the profile. Certificates installed by means other than device policy will also be removed, except for system CA certificates.
admin | Which DeviceAdminReceiver this request is associated with.
|
---|
Uninstalls the given certificate from trusted user CAs, if present.
admin | Which DeviceAdminReceiver this request is associated with. |
---|---|
certBuffer | encoded form of the certificate to remove. |
Ask the user data be wiped. This will cause the device to reboot, erasing all user data while next booting up.
The calling device admin must have requested
USES_POLICY_WIPE_DATA
to be able to call
this method; if it has not, a security exception will be thrown.
flags | Bit mask of additional options: currently supported flags
are WIPE_EXTERNAL_STORAGE and
WIPE_RESET_PROTECTION_DATA .
|
---|