Most visited

Recently visited

Added in API level 1

PackageInfo

public class PackageInfo
extends Object implements Parcelable

java.lang.Object
   ↳ android.content.pm.PackageInfo


Overall information about the contents of a package. This corresponds to all of the information collected from AndroidManifest.xml.

Summary

Constants

int INSTALL_LOCATION_AUTO

Constant corresponding to auto in the installLocation attribute.

int INSTALL_LOCATION_INTERNAL_ONLY

Constant corresponding to internalOnly in the installLocation attribute.

int INSTALL_LOCATION_PREFER_EXTERNAL

Constant corresponding to preferExternal in the installLocation attribute.

int REQUESTED_PERMISSION_GRANTED

Flag for requestedPermissionsFlags: the requested permission is currently granted to the application.

Inherited constants

From interface android.os.Parcelable

Fields

public static final Creator<PackageInfo> CREATOR

public ActivityInfo[] activities

Array of all <activity> tags included under <application>, or null if there were none.

public ApplicationInfo applicationInfo

Information collected from the <application> tag, or null if there was none.

public int baseRevisionCode

The revision number of the base APK for this package, as specified by the <manifest> tag's revisionCode attribute.

public ConfigurationInfo[] configPreferences

Application specified preferred configuration <uses-configuration> tags included under <manifest>, or null if there were none.

public FeatureGroupInfo[] featureGroups

Groups of features that this application has requested.

public long firstInstallTime

The time at which the app was first installed.

public int[] gids

All kernel group-IDs that have been assigned to this package.

public int installLocation

The install location requested by the package.

public InstrumentationInfo[] instrumentation

Array of all <instrumentation> tags included under <manifest>, or null if there were none.

public long lastUpdateTime

The time at which the app was last updated.

public String packageName

The name of this package.

public PermissionInfo[] permissions

Array of all <permission> tags included under <manifest>, or null if there were none.

public ProviderInfo[] providers

Array of all <provider> tags included under <application>, or null if there were none.

public ActivityInfo[] receivers

Array of all <receiver> tags included under <application>, or null if there were none.

public FeatureInfo[] reqFeatures

Features that this application has requested.

public String[] requestedPermissions

Array of all <uses-permission> tags included under <manifest>, or null if there were none.

public int[] requestedPermissionsFlags

Array of flags of all <uses-permission> tags included under <manifest>, or null if there were none.

public ServiceInfo[] services

Array of all <service> tags included under <application>, or null if there were none.

public String sharedUserId

The shared user ID name of this package, as specified by the <manifest> tag's sharedUserId attribute.

public int sharedUserLabel

The shared user ID label of this package, as specified by the <manifest> tag's sharedUserLabel attribute.

public Signature[] signatures

Array of all signatures read from the package file.

public String[] splitNames

The names of any installed split APKs for this package.

public int[] splitRevisionCodes

The revision number of any split APKs for this package, as specified by the <manifest> tag's revisionCode attribute.

public int versionCode

The version number of this package, as specified by the <manifest> tag's versionCode attribute.

public String versionName

The version name of this package, as specified by the <manifest> tag's versionName attribute.

Public constructors

PackageInfo()

Public methods

int describeContents()

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

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel dest, int parcelableFlags)

Flatten this object in to a Parcel.

Inherited methods

From class java.lang.Object
From interface android.os.Parcelable

Constants

INSTALL_LOCATION_AUTO

Added in API level 21
int INSTALL_LOCATION_AUTO

Constant corresponding to auto in the installLocation attribute.

Constant Value: 0 (0x00000000)

INSTALL_LOCATION_INTERNAL_ONLY

Added in API level 21
int INSTALL_LOCATION_INTERNAL_ONLY

Constant corresponding to internalOnly in the installLocation attribute.

Constant Value: 1 (0x00000001)

INSTALL_LOCATION_PREFER_EXTERNAL

Added in API level 21
int INSTALL_LOCATION_PREFER_EXTERNAL

Constant corresponding to preferExternal in the installLocation attribute.

Constant Value: 2 (0x00000002)

REQUESTED_PERMISSION_GRANTED

Added in API level 16
int REQUESTED_PERMISSION_GRANTED

Flag for requestedPermissionsFlags: the requested permission is currently granted to the application.

Constant Value: 2 (0x00000002)

Fields

CREATOR

Added in API level 1
Creator<PackageInfo> CREATOR

activities

Added in API level 1
ActivityInfo[] activities

Array of all <activity> tags included under <application>, or null if there were none. This is only filled in if the flag GET_ACTIVITIES was set.

applicationInfo

Added in API level 1
ApplicationInfo applicationInfo

Information collected from the <application> tag, or null if there was none.

baseRevisionCode

Added in API level 22
int baseRevisionCode

The revision number of the base APK for this package, as specified by the <manifest> tag's revisionCode attribute.

configPreferences

Added in API level 3
ConfigurationInfo[] configPreferences

Application specified preferred configuration <uses-configuration> tags included under <manifest>, or null if there were none. This is only filled in if the flag GET_CONFIGURATIONS was set.

featureGroups

Added in API level 21
FeatureGroupInfo[] featureGroups

Groups of features that this application has requested. Each group contains a set of features that are required. A device must match the features listed in reqFeatures and one or more FeatureGroups in order to have satisfied the feature requirement.

See also:

firstInstallTime

Added in API level 9
long firstInstallTime

The time at which the app was first installed. Units are as per currentTimeMillis().

gids

Added in API level 1
int[] gids

All kernel group-IDs that have been assigned to this package. This is only filled in if the flag GET_GIDS was set.

installLocation

Added in API level 21
int installLocation

The install location requested by the package. From the installLocation attribute, one of INSTALL_LOCATION_AUTO, INSTALL_LOCATION_INTERNAL_ONLY, INSTALL_LOCATION_PREFER_EXTERNAL

instrumentation

Added in API level 1
InstrumentationInfo[] instrumentation

Array of all <instrumentation> tags included under <manifest>, or null if there were none. This is only filled in if the flag GET_INSTRUMENTATION was set.

lastUpdateTime

Added in API level 9
long lastUpdateTime

The time at which the app was last updated. Units are as per currentTimeMillis().

packageName

Added in API level 1
String packageName

The name of this package. From the <manifest> tag's "name" attribute.

permissions

Added in API level 1
PermissionInfo[] permissions

Array of all <permission> tags included under <manifest>, or null if there were none. This is only filled in if the flag GET_PERMISSIONS was set.

providers

Added in API level 1
ProviderInfo[] providers

Array of all <provider> tags included under <application>, or null if there were none. This is only filled in if the flag GET_PROVIDERS was set.

receivers

Added in API level 1
ActivityInfo[] receivers

Array of all <receiver> tags included under <application>, or null if there were none. This is only filled in if the flag GET_RECEIVERS was set.

reqFeatures

Added in API level 5
FeatureInfo[] reqFeatures

Features that this application has requested.

See also:

requestedPermissions

Added in API level 1
String[] requestedPermissions

Array of all <uses-permission> tags included under <manifest>, or null if there were none. This is only filled in if the flag GET_PERMISSIONS was set. This list includes all permissions requested, even those that were not granted or known by the system at install time.

requestedPermissionsFlags

Added in API level 16
int[] requestedPermissionsFlags

Array of flags of all <uses-permission> tags included under <manifest>, or null if there were none. This is only filled in if the flag GET_PERMISSIONS was set. Each value matches the corresponding entry in requestedPermissions, and will have the flag REQUESTED_PERMISSION_GRANTED set as appropriate.

services

Added in API level 1
ServiceInfo[] services

Array of all <service> tags included under <application>, or null if there were none. This is only filled in if the flag GET_SERVICES was set.

sharedUserId

Added in API level 3
String sharedUserId

The shared user ID name of this package, as specified by the <manifest> tag's sharedUserId attribute.

sharedUserLabel

Added in API level 3
int sharedUserLabel

The shared user ID label of this package, as specified by the <manifest> tag's sharedUserLabel attribute.

signatures

Added in API level 1
Signature[] signatures

Array of all signatures read from the package file. This is only filled in if the flag GET_SIGNATURES was set.

splitNames

Added in API level 21
String[] splitNames

The names of any installed split APKs for this package.

splitRevisionCodes

Added in API level 22
int[] splitRevisionCodes

The revision number of any split APKs for this package, as specified by the <manifest> tag's revisionCode attribute. Indexes are a 1:1 mapping against splitNames.

versionCode

Added in API level 1
int versionCode

The version number of this package, as specified by the <manifest> tag's versionCode attribute.

versionName

Added in API level 1
String versionName

The version name of this package, as specified by the <manifest> tag's versionName attribute.

Public constructors

PackageInfo

Added in API level 1
PackageInfo ()

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.

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)

Flatten this object in to a Parcel.

Parameters
dest Parcel: The Parcel in which the object should be written.
parcelableFlags int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.

Hooray!