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 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(ComponentName, long).

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(ComponentName, int) and DevicePolicyManager.setPasswordMinimumLength(ComponentName, int).

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(String, int).

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(int).

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.

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

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 have a "disable-camera" tag in the "uses-policies" section of its meta-data.

This policy is deprecated for use by a device admin. In future releases, it will only be possible for a device owner or profile owner to disable use of the camera.

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 have a "disable-keyguard-features" tag in the "uses-policies" section of its meta-data.

This policy is deprecated for use by a device admin. In future releases, it will only be possible for a device owner or profile owner to disable use of keyguard features.

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 have an "expire-password" tag in the "uses-policies" section of its meta-data.

This policy is deprecated for use by a device admin. In future releases, it will only be possible for a device owner or profile owner to enforce password expiry.

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(ComponentName, long).

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(ComponentName, int) and DevicePolicyManager.setPasswordMinimumLength(ComponentName, int).

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

This policy is deprecated for use by a device admin. In future releases, it will only be possible for a device owner or profile owner to enforce constraints on user passwords.

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(String, int).

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(int).

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
XmlPullParserException
IOException

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(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.

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 will never be null.

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. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

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.