DeviceAdminInfo


public final class DeviceAdminInfo
extends Object implements Parcelable

java.lang.Object
   ↳ android.app.admin.DeviceAdminInfo


This class is used to specify meta information of a device administrator component.

Summary

Constants

int HEADLESS_DEVICE_OWNER_MODE_AFFILIATED

Value for getHeadlessDeviceOwnerMode() which indicates that this DPC should be provisioned into "affiliated" mode when on a Headless System User Mode device.

int HEADLESS_DEVICE_OWNER_MODE_SINGLE_USER

Value for getHeadlessDeviceOwnerMode() which indicates that this DPC should be provisioned into the first secondary user when on a Headless System User Mode device.

int HEADLESS_DEVICE_OWNER_MODE_UNSUPPORTED

Value for getHeadlessDeviceOwnerMode() which indicates that this DPC should not be provisioned into Device Owner mode on a Headless System User Mode device.

int USES_ENCRYPTED_STORAGE

A type of policy that this device admin can use: require encryption of stored data.

int USES_POLICY_DISABLE_CAMERA

A type of policy that this device admin can use: disables use of all device cameras.

int USES_POLICY_DISABLE_KEYGUARD_FEATURES

A type of policy that this device admin can use: disables use of keyguard features.

int USES_POLICY_EXPIRE_PASSWORD

A type of policy that this device admin can use: force the user to change their password after an administrator-defined time limit.

int USES_POLICY_FORCE_LOCK

A type of policy that this device admin can use: able to force the device to lock viaDevicePolicyManager#lockNow or limit the maximum lock timeout for the device via DevicePolicyManager#setMaximumTimeToLock.

int USES_POLICY_LIMIT_PASSWORD

A type of policy that this device admin can use: limit the passwords that the user can select, via DevicePolicyManager#setPasswordQuality and DevicePolicyManager#setPasswordMinimumLength.

int USES_POLICY_RESET_PASSWORD

A type of policy that this device admin can use: able to reset the user's password via DevicePolicyManager#resetPassword.

int USES_POLICY_WATCH_LOGIN

A type of policy that this device admin can use: able to watch login attempts from the user, via DeviceAdminReceiver#ACTION_PASSWORD_FAILED, DeviceAdminReceiver#ACTION_PASSWORD_SUCCEEDED, and DevicePolicyManager#getCurrentFailedPasswordAttempts.

int USES_POLICY_WIPE_DATA

A type of policy that this device admin can use: able to factory reset the device, erasing all of the user's data, via DevicePolicyManager#wipeData.

Inherited constants

Fields

public static final Creator<DeviceAdminInfo> CREATOR

Used to make this class parcelable.

Public constructors

DeviceAdminInfo(Context context, ResolveInfo resolveInfo)

Constructor.

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

void dump(Printer pw, String prefix)
ActivityInfo getActivityInfo()

Return the raw information about the receiver implementing this device admin.

ComponentName getComponent()

Return the component of the receiver that implements this device admin.

int getHeadlessDeviceOwnerMode()

Returns the mode this DeviceAdmin wishes to use if provisioned as a Device Owner on a headless system user mode device.

String getPackageName()

Return the .apk package that implements this device admin.

String getReceiverName()

Return the class name of the receiver component that implements this device admin.

String getTagForPolicy(int policyIdent)

Return the XML tag name for the given policy identifier.

boolean isVisible()

Returns whether this device admin would like to be visible to the user, even when it is not enabled.

CharSequence loadDescription(PackageManager pm)

Load user-visible description associated with this device admin.

Drawable loadIcon(PackageManager pm)

Load the user-displayed icon for this device admin.

CharSequence loadLabel(PackageManager pm)

Load the user-displayed label for this device admin.

boolean supportsTransferOwnership()

Return true if this administrator can be a target in an ownership transfer.

String toString()

Returns a string representation of the object.

boolean usesPolicy(int policyIdent)

Return true if the device admin has requested that it be able to use the given policy control.

void writeToParcel(Parcel dest, int flags)

Used to package this object into a Parcel.

Inherited methods

Constants

HEADLESS_DEVICE_OWNER_MODE_AFFILIATED

Added in API level 34
public static final int HEADLESS_DEVICE_OWNER_MODE_AFFILIATED

Value for getHeadlessDeviceOwnerMode() which indicates that this DPC should be provisioned into "affiliated" mode when on a Headless System User Mode device.

This mode adds a Profile Owner to all users other than the user the Device Owner is on.

Starting from Android version Build.VERSION_CODES.VANILLA_ICE_CREAM, DPCs should set the value of attribute "headless-device-owner-mode" inside the "headless-system-user" tag as "affiliated".

Constant Value: 1 (0x00000001)

HEADLESS_DEVICE_OWNER_MODE_SINGLE_USER

Added in API level 35
public static final int HEADLESS_DEVICE_OWNER_MODE_SINGLE_USER

Value for getHeadlessDeviceOwnerMode() which indicates that this DPC should be provisioned into the first secondary user when on a Headless System User Mode device.

This mode only allows a single secondary user on the device blocking the creation of additional secondary users.

Starting from Android version Build.VERSION_CODES.VANILLA_ICE_CREAM, DPCs should set the value of attribute "headless-device-owner-mode" inside the "headless-system-user" tag as "single_user".

Constant Value: 2 (0x00000002)

HEADLESS_DEVICE_OWNER_MODE_UNSUPPORTED

Added in API level 34
public static final int HEADLESS_DEVICE_OWNER_MODE_UNSUPPORTED

Value for getHeadlessDeviceOwnerMode() which indicates that this DPC should not be provisioned into Device Owner mode on a Headless System User Mode device.

Constant Value: 0 (0x00000000)

USES_ENCRYPTED_STORAGE

Added in API level 11
public static final int USES_ENCRYPTED_STORAGE

A type of policy that this device admin can use: require encryption of stored data.

To control this policy, the device admin must have a "encrypted-storage" tag in the "uses-policies" section of its meta-data.

Constant Value: 7 (0x00000007)

USES_POLICY_DISABLE_CAMERA

Added in API level 14
public static final int USES_POLICY_DISABLE_CAMERA

A type of policy that this device admin can use: disables use of all device cameras.

To control this policy, the device admin must be a device owner or profile owner, and must have a "disable-camera" tag in the "uses-policies" section of its meta-data. If used by a device owner, the policy affects all users on the device.

Constant Value: 8 (0x00000008)

USES_POLICY_DISABLE_KEYGUARD_FEATURES

Added in API level 17
public static final int USES_POLICY_DISABLE_KEYGUARD_FEATURES

A type of policy that this device admin can use: disables use of keyguard features.

To control this policy, the device admin must be a device owner or profile owner, and must have a "disable-keyguard-features" tag in the "uses-policies" section of its meta-data. If used by a device owner, the policy only affects the primary user and its profiles, but not any secondary users on the device.

Constant Value: 9 (0x00000009)

USES_POLICY_EXPIRE_PASSWORD

Added in API level 11
public static final int USES_POLICY_EXPIRE_PASSWORD

A type of policy that this device admin can use: force the user to change their password after an administrator-defined time limit.

To control this policy, the device admin must be a device owner or profile owner, and must have an "expire-password" tag in the "uses-policies" section of its meta-data. If used by a device owner, the policy only affects the primary user and its profiles, but not any secondary users on the device.

Constant Value: 6 (0x00000006)

USES_POLICY_FORCE_LOCK

Added in API level 8
public static final int USES_POLICY_FORCE_LOCK

A type of policy that this device admin can use: able to force the device to lock viaDevicePolicyManager#lockNow or limit the maximum lock timeout for the device via DevicePolicyManager#setMaximumTimeToLock.

To control this policy, the device admin must have a "force-lock" tag in the "uses-policies" section of its meta-data.

Constant Value: 3 (0x00000003)

USES_POLICY_LIMIT_PASSWORD

Added in API level 8
public static final int USES_POLICY_LIMIT_PASSWORD

A type of policy that this device admin can use: limit the passwords that the user can select, via DevicePolicyManager#setPasswordQuality and DevicePolicyManager#setPasswordMinimumLength.

To control this policy, the device admin must be a device owner or profile owner, and must have a "limit-password" tag in the "uses-policies" section of its meta-data. If used by a device owner, the policy only affects the primary user and its profiles, but not any secondary users on the device.

Constant Value: 0 (0x00000000)

USES_POLICY_RESET_PASSWORD

Added in API level 8
public static final int USES_POLICY_RESET_PASSWORD

A type of policy that this device admin can use: able to reset the user's password via DevicePolicyManager#resetPassword.

To control this policy, the device admin must have a "reset-password" tag in the "uses-policies" section of its meta-data.

Constant Value: 2 (0x00000002)

USES_POLICY_WATCH_LOGIN

Added in API level 8
public static final int USES_POLICY_WATCH_LOGIN

A type of policy that this device admin can use: able to watch login attempts from the user, via DeviceAdminReceiver#ACTION_PASSWORD_FAILED, DeviceAdminReceiver#ACTION_PASSWORD_SUCCEEDED, and DevicePolicyManager#getCurrentFailedPasswordAttempts.

To control this policy, the device admin must have a "watch-login" tag in the "uses-policies" section of its meta-data.

Constant Value: 1 (0x00000001)

USES_POLICY_WIPE_DATA

Added in API level 8
public static final int USES_POLICY_WIPE_DATA

A type of policy that this device admin can use: able to factory reset the device, erasing all of the user's data, via DevicePolicyManager#wipeData.

To control this policy, the device admin must have a "wipe-data" tag in the "uses-policies" section of its meta-data.

Constant Value: 4 (0x00000004)

Fields

CREATOR

Added in API level 8
public static final Creator<DeviceAdminInfo> CREATOR

Used to make this class parcelable.

Public constructors

DeviceAdminInfo

Added in API level 8
public DeviceAdminInfo (Context context, 
                ResolveInfo resolveInfo)

Constructor.

Parameters
context Context: The Context in which we are parsing the device admin.

resolveInfo ResolveInfo: The ResolveInfo returned from the package manager about this device admin's component.

Throws
IOException
XmlPullParserException

Public methods

describeContents

Added in API level 8
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

dump

Added in API level 8
public void dump (Printer pw, 
                String prefix)

Parameters
pw Printer

prefix String

getActivityInfo

Added in API level 8
public ActivityInfo getActivityInfo ()

Return the raw information about the receiver implementing this device admin. Do not modify the returned object.

Returns
ActivityInfo

getComponent

Added in API level 8
public ComponentName getComponent ()

Return the component of the receiver that implements this device admin.

Returns
ComponentName This value cannot be null.

getHeadlessDeviceOwnerMode

Added in API level 34
public int getHeadlessDeviceOwnerMode ()

Returns the mode this DeviceAdmin wishes to use if provisioned as a Device Owner on a headless system user mode device.

Returns
int Value is HEADLESS_DEVICE_OWNER_MODE_UNSUPPORTED, HEADLESS_DEVICE_OWNER_MODE_AFFILIATED, or HEADLESS_DEVICE_OWNER_MODE_SINGLE_USER

getPackageName

Added in API level 8
public String getPackageName ()

Return the .apk package that implements this device admin.

Returns
String

getReceiverName

Added in API level 8
public String getReceiverName ()

Return the class name of the receiver component that implements this device admin.

Returns
String

getTagForPolicy

Added in API level 8
public String getTagForPolicy (int policyIdent)

Return the XML tag name for the given policy identifier. Valid identifiers are as per usesPolicy(int). If the given identifier is not known, null is returned.

Parameters
policyIdent int

Returns
String

isVisible

Added in API level 8
public boolean isVisible ()

Returns whether this device admin would like to be visible to the user, even when it is not enabled.

Returns
boolean

loadDescription

Added in API level 8
public CharSequence loadDescription (PackageManager pm)

Load user-visible description associated with this device admin.

Parameters
pm PackageManager: Supply a PackageManager used to load the device admin's resources.

Returns
CharSequence

Throws
Resources.NotFoundException

loadIcon

Added in API level 8
public Drawable loadIcon (PackageManager pm)

Load the user-displayed icon for this device admin.

Parameters
pm PackageManager: Supply a PackageManager used to load the device admin's resources.

Returns
Drawable

loadLabel

Added in API level 8
public CharSequence loadLabel (PackageManager pm)

Load the user-displayed label for this device admin.

Parameters
pm PackageManager: Supply a PackageManager used to load the device admin's resources.

Returns
CharSequence

supportsTransferOwnership

Added in API level 28
public boolean supportsTransferOwnership ()

Return true if this administrator can be a target in an ownership transfer.

Returns
boolean

toString

Added in API level 8
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

usesPolicy

Added in API level 8
public boolean usesPolicy (int policyIdent)

Return true if the device admin has requested that it be able to use the given policy control. The possible policy identifier inputs are: USES_POLICY_LIMIT_PASSWORD, USES_POLICY_WATCH_LOGIN, USES_POLICY_RESET_PASSWORD, USES_POLICY_FORCE_LOCK, USES_POLICY_WIPE_DATA, USES_POLICY_EXPIRE_PASSWORD, USES_ENCRYPTED_STORAGE, USES_POLICY_DISABLE_CAMERA.

Parameters
policyIdent int

Returns
boolean

writeToParcel

Added in API level 8
public void writeToParcel (Parcel dest, 
                int flags)

Used to package this object into a Parcel.

Parameters
dest Parcel: The Parcel to be written.

flags int: The flags used for parceling.