Most visited

Recently visited

Added in API level 1

PermissionInfo

public class PermissionInfo
extends PackageItemInfo implements Parcelable

java.lang.Object
   ↳ android.content.pm.PackageItemInfo
     ↳ android.content.pm.PermissionInfo


Information you can retrieve about a particular security permission known to the system. This corresponds to information collected from the AndroidManifest.xml's <permission> tags.

Summary

Constants

int FLAG_COSTS_MONEY

Flag for flags, corresponding to costsMoney value of permissionFlags.

int FLAG_INSTALLED

Flag for flags, indicating that this permission has been installed into the system's globally defined permissions.

int PROTECTION_DANGEROUS

Dangerous value for protectionLevel, corresponding to the dangerous value of protectionLevel.

int PROTECTION_FLAG_APPOP

Additional flag for protectionLevel, corresponding to the appop value of protectionLevel.

int PROTECTION_FLAG_DEVELOPMENT

Additional flag for protectionLevel, corresponding to the development value of protectionLevel.

int PROTECTION_FLAG_INSTALLER

Additional flag for protectionLevel, corresponding to the installer value of protectionLevel.

int PROTECTION_FLAG_PRE23

Additional flag for protectionLevel, corresponding to the pre23 value of protectionLevel.

int PROTECTION_FLAG_PREINSTALLED

Additional flag for protectionLevel, corresponding to the preinstalled value of protectionLevel.

int PROTECTION_FLAG_PRIVILEGED

Additional flag for protectionLevel, corresponding to the privileged value of protectionLevel.

int PROTECTION_FLAG_SETUP

Additional flag for protectionLevel, corresponding to the setup value of protectionLevel.

int PROTECTION_FLAG_SYSTEM

This constant was deprecated in API level 23. Old name for PROTECTION_FLAG_PRIVILEGED, which is now very confusing because it only applies to privileged apps, not all apps on the system image.

int PROTECTION_FLAG_VERIFIER

Additional flag for protectionLevel, corresponding to the verifier value of protectionLevel.

int PROTECTION_MASK_BASE

Mask for protectionLevel: the basic protection type.

int PROTECTION_MASK_FLAGS

Mask for protectionLevel: additional flag bits.

int PROTECTION_NORMAL

A normal application value for protectionLevel, corresponding to the normal value of protectionLevel.

int PROTECTION_SIGNATURE

System-level value for protectionLevel, corresponding to the signature value of protectionLevel.

int PROTECTION_SIGNATURE_OR_SYSTEM

This constant was deprecated in API level 23. Use PROTECTION_SIGNATURE|PROTECTION_FLAG_PRIVILEGED instead.

Inherited constants

From interface android.os.Parcelable

Fields

public static final Creator<PermissionInfo> CREATOR

public int descriptionRes

A string resource identifier (in the package's resources) of this permission's description.

public int flags

Additional flags about this permission as given by permissionFlags.

public String group

The group this permission is a part of, as per permissionGroup.

public CharSequence nonLocalizedDescription

The description string provided in the AndroidManifest file, if any.

public int protectionLevel

The level of access this permission is protecting, as per protectionLevel.

Inherited fields

From class android.content.pm.PackageItemInfo

Public constructors

PermissionInfo()
PermissionInfo(PermissionInfo orig)

Public methods

int describeContents()

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

CharSequence loadDescription(PackageManager pm)

Retrieve the textual description of this permission.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel dest, int parcelableFlags)

Inherited methods

From class android.content.pm.PackageItemInfo
From class java.lang.Object
From interface android.os.Parcelable

Constants

FLAG_COSTS_MONEY

Added in API level 17
int FLAG_COSTS_MONEY

Flag for flags, corresponding to costsMoney value of permissionFlags.

Constant Value: 1 (0x00000001)

FLAG_INSTALLED

Added in API level 23
int FLAG_INSTALLED

Flag for flags, indicating that this permission has been installed into the system's globally defined permissions.

Constant Value: 1073741824 (0x40000000)

PROTECTION_DANGEROUS

Added in API level 1
int PROTECTION_DANGEROUS

Dangerous value for protectionLevel, corresponding to the dangerous value of protectionLevel.

Constant Value: 1 (0x00000001)

PROTECTION_FLAG_APPOP

Added in API level 21
int PROTECTION_FLAG_APPOP

Additional flag for protectionLevel, corresponding to the appop value of protectionLevel.

Constant Value: 64 (0x00000040)

PROTECTION_FLAG_DEVELOPMENT

Added in API level 16
int PROTECTION_FLAG_DEVELOPMENT

Additional flag for protectionLevel, corresponding to the development value of protectionLevel.

Constant Value: 32 (0x00000020)

PROTECTION_FLAG_INSTALLER

Added in API level 23
int PROTECTION_FLAG_INSTALLER

Additional flag for protectionLevel, corresponding to the installer value of protectionLevel.

Constant Value: 256 (0x00000100)

PROTECTION_FLAG_PRE23

Added in API level 23
int PROTECTION_FLAG_PRE23

Additional flag for protectionLevel, corresponding to the pre23 value of protectionLevel.

Constant Value: 128 (0x00000080)

PROTECTION_FLAG_PREINSTALLED

Added in API level 23
int PROTECTION_FLAG_PREINSTALLED

Additional flag for protectionLevel, corresponding to the preinstalled value of protectionLevel.

Constant Value: 1024 (0x00000400)

PROTECTION_FLAG_PRIVILEGED

Added in API level 23
int PROTECTION_FLAG_PRIVILEGED

Additional flag for protectionLevel, corresponding to the privileged value of protectionLevel.

Constant Value: 16 (0x00000010)

PROTECTION_FLAG_SETUP

Added in API level 24
int PROTECTION_FLAG_SETUP

Additional flag for protectionLevel, corresponding to the setup value of protectionLevel.

Constant Value: 2048 (0x00000800)

PROTECTION_FLAG_SYSTEM

Added in API level 16
int PROTECTION_FLAG_SYSTEM

This constant was deprecated in API level 23.
Old name for PROTECTION_FLAG_PRIVILEGED, which is now very confusing because it only applies to privileged apps, not all apps on the system image.

Constant Value: 16 (0x00000010)

PROTECTION_FLAG_VERIFIER

Added in API level 23
int PROTECTION_FLAG_VERIFIER

Additional flag for protectionLevel, corresponding to the verifier value of protectionLevel.

Constant Value: 512 (0x00000200)

PROTECTION_MASK_BASE

Added in API level 16
int PROTECTION_MASK_BASE

Mask for protectionLevel: the basic protection type.

Constant Value: 15 (0x0000000f)

PROTECTION_MASK_FLAGS

Added in API level 16
int PROTECTION_MASK_FLAGS

Mask for protectionLevel: additional flag bits.

Constant Value: 4080 (0x00000ff0)

PROTECTION_NORMAL

Added in API level 1
int PROTECTION_NORMAL

A normal application value for protectionLevel, corresponding to the normal value of protectionLevel.

Constant Value: 0 (0x00000000)

PROTECTION_SIGNATURE

Added in API level 1
int PROTECTION_SIGNATURE

System-level value for protectionLevel, corresponding to the signature value of protectionLevel.

Constant Value: 2 (0x00000002)

PROTECTION_SIGNATURE_OR_SYSTEM

Added in API level 1
int PROTECTION_SIGNATURE_OR_SYSTEM

This constant was deprecated in API level 23.
Use PROTECTION_SIGNATURE|PROTECTION_FLAG_PRIVILEGED instead.

Constant Value: 3 (0x00000003)

Fields

CREATOR

Added in API level 1
Creator<PermissionInfo> CREATOR

descriptionRes

Added in API level 1
int descriptionRes

A string resource identifier (in the package's resources) of this permission's description. From the "description" attribute or, if not set, 0.

flags

Added in API level 17
int flags

Additional flags about this permission as given by permissionFlags.

group

Added in API level 1
String group

The group this permission is a part of, as per permissionGroup.

nonLocalizedDescription

Added in API level 1
CharSequence nonLocalizedDescription

The description string provided in the AndroidManifest file, if any. You probably don't want to use this, since it will be null if the description is in a resource. You probably want loadDescription(PackageManager) instead.

protectionLevel

Added in API level 1
int protectionLevel

The level of access this permission is protecting, as per protectionLevel. Values may be PROTECTION_NORMAL, PROTECTION_DANGEROUS, or PROTECTION_SIGNATURE. May also include the additional flags PROTECTION_FLAG_SYSTEM or PROTECTION_FLAG_DEVELOPMENT (which only make sense in combination with the base PROTECTION_SIGNATURE.

Public constructors

PermissionInfo

Added in API level 1
PermissionInfo ()

PermissionInfo

Added in API level 1
PermissionInfo (PermissionInfo orig)

Parameters
orig PermissionInfo

Public methods

describeContents

Added in API level 1
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.

loadDescription

Added in API level 1
CharSequence loadDescription (PackageManager pm)

Retrieve the textual description of this permission. This will call back on the given PackageManager to load the description from the application.

Parameters
pm PackageManager: A PackageManager from which the label can be loaded; usually the PackageManager from which you originally retrieved this item.
Returns
CharSequence Returns a CharSequence containing the permission's description. If there is no description, null is returned.

toString

Added in API level 1
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.

writeToParcel

Added in API level 1
void writeToParcel (Parcel dest, 
                int parcelableFlags)

Parameters
dest Parcel
parcelableFlags int

Hooray!