ApplicationInfo


public class ApplicationInfo
extends PackageItemInfo implements Parcelable

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


Information you can retrieve about a particular application. This corresponds to information collected from the AndroidManifest.xml's <application> tag.

Summary

Nested classes

class ApplicationInfo.DisplayNameComparator

 

Constants

int CATEGORY_ACCESSIBILITY

Category for apps which are primarily accessibility apps, such as screen-readers.

int CATEGORY_AUDIO

Category for apps which primarily work with audio or music, such as music players.

int CATEGORY_GAME

Category for apps which are primarily games.

int CATEGORY_IMAGE

Category for apps which primarily work with images or photos, such as camera or gallery apps.

int CATEGORY_MAPS

Category for apps which are primarily maps apps, such as navigation apps.

int CATEGORY_NEWS

Category for apps which are primarily news apps, such as newspapers, magazines, or sports apps.

int CATEGORY_PRODUCTIVITY

Category for apps which are primarily productivity apps, such as cloud storage or workplace apps.

int CATEGORY_SOCIAL

Category for apps which are primarily social apps, such as messaging, communication, email, or social network apps.

int CATEGORY_UNDEFINED

Value when category is undefined.

int CATEGORY_VIDEO

Category for apps which primarily work with video or movies, such as streaming video apps.

int FLAG_ALLOW_BACKUP

Value for flags: set to false if the application does not wish to permit any OS-driven backups of its data; true otherwise.

int FLAG_ALLOW_CLEAR_USER_DATA

Value for flags: default value for the corresponding ActivityInfo flag.

int FLAG_ALLOW_TASK_REPARENTING

Value for flags: default value for the corresponding ActivityInfo flag.

int FLAG_DEBUGGABLE

Value for flags: set to true if this application would like to allow debugging of its code, even when installed on a non-development system.

int FLAG_EXTERNAL_STORAGE

Value for flags: Set to true if the application is currently installed on external/removable/unprotected storage.

int FLAG_EXTRACT_NATIVE_LIBS

When set installer extracts native libs from .apk files.

int FLAG_FACTORY_TEST

Value for flags: set to true if this application holds the Manifest.permission.FACTORY_TEST permission and the device is running in factory test mode.

int FLAG_FULL_BACKUP_ONLY

Value for flags: true if the application asks that only full-data streaming backups of its data be performed even though it defines a BackupAgent, which normally indicates that the app will manage its backed-up data via incremental key/value updates.

int FLAG_HARDWARE_ACCELERATED

Value for flags: true when the application's rendering should be hardware accelerated.

int FLAG_HAS_CODE

Value for flags: set to true if this application has code associated with it.

int FLAG_INSTALLED

Value for flags: true if the application is currently installed for the calling user.

int FLAG_IS_DATA_ONLY

Value for flags: true if the application only has its data installed; the application package itself does not currently exist on the device.

int FLAG_IS_GAME

This constant was deprecated in API level 26. use CATEGORY_GAME instead.

int FLAG_KILL_AFTER_RESTORE

Value for flags: set to false if the application must be kept in memory following a full-system restore operation; true otherwise.

int FLAG_LARGE_HEAP

Value for flags: true when the application has requested a large heap for its processes.

int FLAG_MULTIARCH

Value for flags: true if code from this application will need to be loaded into other applications' processes.

int FLAG_PERSISTENT

Value for flags: set to true if this application is persistent.

int FLAG_RESIZEABLE_FOR_SCREENS

Value for flags: true when the application knows how to adjust its UI for different screen sizes.

int FLAG_RESTORE_ANY_VERSION

Value for flags: Set to true if the application's backup agent claims to be able to handle restore data even "from the future," i.e.

int FLAG_STOPPED

Value for flags: true if this application's package is in the stopped state.

int FLAG_SUPPORTS_LARGE_SCREENS

Value for flags: true when the application's window can be increased in size for larger screens.

int FLAG_SUPPORTS_NORMAL_SCREENS

Value for flags: true when the application's window can be displayed on normal screens.

int FLAG_SUPPORTS_RTL

Value for flags: true when the application is willing to support RTL (right to left).

int FLAG_SUPPORTS_SCREEN_DENSITIES

This constant was deprecated in API level 30. Set by default when targeting API 4 or higher and apps should not set this to false.

int FLAG_SUPPORTS_SMALL_SCREENS

Value for flags: true when the application's window can be reduced in size for smaller screens.

int FLAG_SUPPORTS_XLARGE_SCREENS

Value for flags: true when the application's window can be increased in size for extra large screens.

int FLAG_SUSPENDED

Value for flags: true if this application's package is in the suspended state.

int FLAG_SYSTEM

Value for flags: if set, this application is installed in the device's system image.

int FLAG_TEST_ONLY

Value for flags: this is set if the application has specified android:testOnly to be true.

int FLAG_UPDATED_SYSTEM_APP

Value for flags: this is set if this application has been installed as an update to a built-in system application.

int FLAG_USES_CLEARTEXT_TRAFFIC

Value for flags: true if the application may use cleartext network traffic (e.g., HTTP rather than HTTPS; WebSockets rather than WebSockets Secure; XMPP, IMAP, SMTP without STARTTLS or TLS).

int FLAG_VM_SAFE_MODE

Value for flags: set to true if this application would like to request the VM to operate under the safe mode.

int GWP_ASAN_ALWAYS

Always enable GWP-ASan in this application or process.

int GWP_ASAN_DEFAULT

Default (unspecified) setting of GWP-ASan.

int GWP_ASAN_NEVER

Never enable GWP-ASan in this application or process.

int MEMTAG_ASYNC

Enable Memtag in Async mode in this application or process.

int MEMTAG_DEFAULT

Default (unspecified) setting of Memtag.

int MEMTAG_OFF

Do not enable Memtag in this application or process.

int MEMTAG_SYNC

Enable Memtag in Sync mode in this application or process.

int RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT

Use default value for R.styleable.AndroidManifestApplication_requestRawExternalStorageAccess.

int RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED

Raw external storage was not requested by this app.

int RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED

Raw external storage was requested by this app.

int ZEROINIT_DEFAULT

Default (unspecified) setting of nativeHeapZeroInitialized.

int ZEROINIT_DISABLED

Disable zero-initialization of the native heap in this application or process.

int ZEROINIT_ENABLED

Enable zero-initialization of the native heap in this application or process.

Inherited constants

Fields

public static final Creator<ApplicationInfo> CREATOR

public String appComponentFactory

The factory of this package, as specified by the <manifest> tag's R.styleable.AndroidManifestApplication_appComponentFactory attribute.

public String backupAgentName

Class implementing the Application's backup functionality.

public int category

The category of this app.

public String className

Class implementing the Application object.

public int compatibleWidthLimitDp

The maximum smallest screen width the application is designed for.

public int compileSdkVersion

The user-visible SDK version (ex.

public String compileSdkVersionCodename

The development codename (ex.

public String dataDir

Full path to the default directory assigned to the package for its persistent data.

public int descriptionRes

A style resource identifier (in the package's resources) of the description of an application.

public String deviceProtectedDataDir

Full path to the device-protected directory assigned to the package for its persistent data.

public boolean enabled

When false, indicates that all components within this application are considered disabled, regardless of their individually set enabled status.

public int flags

Flags associated with the application.

public int largestWidthLimitDp

The maximum smallest screen width the application will work on.

public String manageSpaceActivityName

Class implementing the Application's manage space functionality.

public int minSdkVersion

The minimum SDK version this application can run on.

public String nativeLibraryDir

Full path to the directory where native JNI libraries are stored.

public String permission

Optional name of a permission required to be able to access this application's components.

public String processName

The name of the process this application should run in.

public String publicSourceDir

Full path to the publicly available parts of sourceDir, including resources and manifest.

public int requiresSmallestWidthDp

The required smallest screen width the application can run on.

public String[] sharedLibraryFiles

Paths to all shared libraries this application is linked against.

public String sourceDir

Full path to the base APK for this application.

public String[] splitNames

The names of all installed split APKs, ordered lexicographically.

public String[] splitPublicSourceDirs

Full path to the publicly available parts of splitSourceDirs, including resources and manifest.

public String[] splitSourceDirs

Full paths to split APKs, indexed by the same order as splitNames.

public UUID storageUuid

UUID of the storage volume on which this application is being hosted.

public int targetSdkVersion

The minimum SDK version this application targets.

public String taskAffinity

Default task affinity of all activities in this application.

public int theme

A style resource identifier (in the package's resources) of the default visual theme of the application.

public int uiOptions

The default extra UI options for activities in this application.

public int uid

The kernel user-ID that has been assigned to this application; currently this is not a unique ID (multiple applications can have the same uid).

Inherited fields

Public constructors

ApplicationInfo()
ApplicationInfo(ApplicationInfo orig)

Public methods

boolean areAttributionsUserVisible()

Returns whether attributions provided by the application are meant to be user-visible.

int describeContents()

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

void dump(Printer pw, String prefix)
static CharSequence getCategoryTitle(Context context, int category)

Return a concise, localized title for the given ApplicationInfo#category value, or null for unknown values such as CATEGORY_UNDEFINED.

int getGwpAsanMode()
Set<String> getKnownActivityEmbeddingCerts()

Gets the trusted host certificate digests of apps that are allowed to embed activities of this application.

int getMemtagMode()

Returns whether the application has requested Memtag to be enabled, disabled, or left unspecified.

int getNativeHeapZeroInitialized()

Returns whether the application has requested automatic zero-initialization of native heap memory allocations to be enabled or disabled.

int getRequestRawExternalStorageAccess()
boolean isProfileable()

Returns whether this application can be profiled, either by the shell user or the system.

boolean isProfileableByShell()

Returns whether or not this application can be profiled by the shell user, even when running on a device that is running in user mode.

boolean isResourceOverlay()

Returns true if the package has declared in its manifest that it is a runtime resource overlay.

boolean isVirtualPreload()

Returns whether or not this application was installed as a virtual preload.

CharSequence loadDescription(PackageManager pm)

Retrieve the textual description of the application.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel dest, int parcelableFlags)

Inherited methods

Constants

CATEGORY_ACCESSIBILITY

Added in API level 31
public static final int CATEGORY_ACCESSIBILITY

Category for apps which are primarily accessibility apps, such as screen-readers.

See also:

Constant Value: 8 (0x00000008)

CATEGORY_AUDIO

Added in API level 26
public static final int CATEGORY_AUDIO

Category for apps which primarily work with audio or music, such as music players.

See also:

Constant Value: 1 (0x00000001)

CATEGORY_GAME

Added in API level 26
public static final int CATEGORY_GAME

Category for apps which are primarily games.

See also:

Constant Value: 0 (0x00000000)

CATEGORY_IMAGE

Added in API level 26
public static final int CATEGORY_IMAGE

Category for apps which primarily work with images or photos, such as camera or gallery apps.

See also:

Constant Value: 3 (0x00000003)

CATEGORY_MAPS

Added in API level 26
public static final int CATEGORY_MAPS

Category for apps which are primarily maps apps, such as navigation apps.

See also:

Constant Value: 6 (0x00000006)

CATEGORY_NEWS

Added in API level 26
public static final int CATEGORY_NEWS

Category for apps which are primarily news apps, such as newspapers, magazines, or sports apps.

See also:

Constant Value: 5 (0x00000005)

CATEGORY_PRODUCTIVITY

Added in API level 26
public static final int CATEGORY_PRODUCTIVITY

Category for apps which are primarily productivity apps, such as cloud storage or workplace apps.

See also:

Constant Value: 7 (0x00000007)

CATEGORY_SOCIAL

Added in API level 26
public static final int CATEGORY_SOCIAL

Category for apps which are primarily social apps, such as messaging, communication, email, or social network apps.

See also:

Constant Value: 4 (0x00000004)

CATEGORY_UNDEFINED

Added in API level 26
public static final int CATEGORY_UNDEFINED

Value when category is undefined.

See also:

Constant Value: -1 (0xffffffff)

CATEGORY_VIDEO

Added in API level 26
public static final int CATEGORY_VIDEO

Category for apps which primarily work with video or movies, such as streaming video apps.

See also:

Constant Value: 2 (0x00000002)

FLAG_ALLOW_BACKUP

Added in API level 8
public static final int FLAG_ALLOW_BACKUP

Value for flags: set to false if the application does not wish to permit any OS-driven backups of its data; true otherwise.

Comes from the android:allowBackup attribute of the <application> tag.

Constant Value: 32768 (0x00008000)

FLAG_ALLOW_CLEAR_USER_DATA

Added in API level 1
public static final int FLAG_ALLOW_CLEAR_USER_DATA

Value for flags: default value for the corresponding ActivityInfo flag. Comes from android:allowClearUserData of the <application> tag.

Constant Value: 64 (0x00000040)

FLAG_ALLOW_TASK_REPARENTING

Added in API level 1
public static final int FLAG_ALLOW_TASK_REPARENTING

Value for flags: default value for the corresponding ActivityInfo flag. Comes from android:allowTaskReparenting of the <application> tag.

Constant Value: 32 (0x00000020)

FLAG_DEBUGGABLE

Added in API level 1
public static final int FLAG_DEBUGGABLE

Value for flags: set to true if this application would like to allow debugging of its code, even when installed on a non-development system. Comes from android:debuggable of the <application> tag.

Constant Value: 2 (0x00000002)

FLAG_EXTERNAL_STORAGE

Added in API level 8
public static final int FLAG_EXTERNAL_STORAGE

Value for flags: Set to true if the application is currently installed on external/removable/unprotected storage. Such applications may not be available if their storage is not currently mounted. When the storage it is on is not available, it will look like the application has been uninstalled (its .apk is no longer available) but its persistent data is not removed.

Constant Value: 262144 (0x00040000)

FLAG_EXTRACT_NATIVE_LIBS

Added in API level 23
public static final int FLAG_EXTRACT_NATIVE_LIBS

When set installer extracts native libs from .apk files.

Constant Value: 268435456 (0x10000000)

FLAG_FACTORY_TEST

Added in API level 1
public static final int FLAG_FACTORY_TEST

Value for flags: set to true if this application holds the Manifest.permission.FACTORY_TEST permission and the device is running in factory test mode.

Constant Value: 16 (0x00000010)

FLAG_FULL_BACKUP_ONLY

Added in API level 21
public static final int FLAG_FULL_BACKUP_ONLY

Value for flags: true if the application asks that only full-data streaming backups of its data be performed even though it defines a BackupAgent, which normally indicates that the app will manage its backed-up data via incremental key/value updates.

Constant Value: 67108864 (0x04000000)

FLAG_HARDWARE_ACCELERATED

Added in API level 23
public static final int FLAG_HARDWARE_ACCELERATED

Value for flags: true when the application's rendering should be hardware accelerated.

Constant Value: 536870912 (0x20000000)

FLAG_HAS_CODE

Added in API level 1
public static final int FLAG_HAS_CODE

Value for flags: set to true if this application has code associated with it. Comes from android:hasCode of the <application> tag.

Constant Value: 4 (0x00000004)

FLAG_INSTALLED

Added in API level 17
public static final int FLAG_INSTALLED

Value for flags: true if the application is currently installed for the calling user.

Constant Value: 8388608 (0x00800000)

FLAG_IS_DATA_ONLY

Added in API level 17
public static final int FLAG_IS_DATA_ONLY

Value for flags: true if the application only has its data installed; the application package itself does not currently exist on the device.

Constant Value: 16777216 (0x01000000)

FLAG_IS_GAME

Added in API level 21
Deprecated in API level 26
public static final int FLAG_IS_GAME

This constant was deprecated in API level 26.
use CATEGORY_GAME instead.

Value for flags: true if the application was declared to be a game, or false if it is a non-game application.

Constant Value: 33554432 (0x02000000)

FLAG_KILL_AFTER_RESTORE

Added in API level 8
public static final int FLAG_KILL_AFTER_RESTORE

Value for flags: set to false if the application must be kept in memory following a full-system restore operation; true otherwise. Ordinarily, during a full system restore operation each application is shut down following execution of its agent's onRestore() method. Setting this attribute to false prevents this. Most applications will not need to set this attribute.

If android:allowBackup is set to false or no android:backupAgent is specified, this flag will be ignored.

Comes from the android:killAfterRestore attribute of the <application> tag.

Constant Value: 65536 (0x00010000)

FLAG_LARGE_HEAP

Added in API level 11
public static final int FLAG_LARGE_HEAP

Value for flags: true when the application has requested a large heap for its processes. Corresponds to android:largeHeap.

Constant Value: 1048576 (0x00100000)

FLAG_MULTIARCH

Added in API level 21
public static final int FLAG_MULTIARCH

Value for flags: true if code from this application will need to be loaded into other applications' processes. On devices that support multiple instruction sets, this implies the code might be loaded into a process that's using any of the devices supported instruction sets.

The system might treat such applications specially, for eg., by extracting the application's native libraries for all supported instruction sets or by compiling the application's dex code for all supported instruction sets.

Constant Value: -2147483648 (0x80000000)

FLAG_PERSISTENT

Added in API level 1
public static final int FLAG_PERSISTENT

Value for flags: set to true if this application is persistent. Comes from android:persistent of the <application> tag.

Constant Value: 8 (0x00000008)

FLAG_RESIZEABLE_FOR_SCREENS

Added in API level 4
public static final int FLAG_RESIZEABLE_FOR_SCREENS

Value for flags: true when the application knows how to adjust its UI for different screen sizes. Corresponds to android:resizeable.

Constant Value: 4096 (0x00001000)

FLAG_RESTORE_ANY_VERSION

Added in API level 8
public static final int FLAG_RESTORE_ANY_VERSION

Value for flags: Set to true if the application's backup agent claims to be able to handle restore data even "from the future," i.e. from versions of the application with a versionCode greater than the one currently installed on the device. Use with caution! By default this attribute is false and the Backup Manager will ensure that data from "future" versions of the application are never supplied during a restore operation.

If android:allowBackup is set to false or no android:backupAgent is specified, this flag will be ignored.

Comes from the android:restoreAnyVersion attribute of the <application> tag.

Constant Value: 131072 (0x00020000)

FLAG_STOPPED

Added in API level 12
public static final int FLAG_STOPPED

Value for flags: true if this application's package is in the stopped state.

Stopped is the initial state after an app is installed, before it is launched or otherwise directly interacted with by the user. The system tries not to start it unless initiated by a user interaction (typically launching its icon from the launcher, could also include user actions like adding it as an app widget, selecting it as a live wallpaper, selecting it as a keyboard, etc). Stopped applications will not receive implicit broadcasts unless the sender specifies Intent.FLAG_INCLUDE_STOPPED_PACKAGES.

Applications should avoid launching activities, binding to or starting services, or otherwise causing a stopped application to run unless initiated by the user.

An app can also return to the stopped state by a "force stop".

Constant Value: 2097152 (0x00200000)

FLAG_SUPPORTS_LARGE_SCREENS

Added in API level 4
public static final int FLAG_SUPPORTS_LARGE_SCREENS

Value for flags: true when the application's window can be increased in size for larger screens. Corresponds to android:largeScreens.

Constant Value: 2048 (0x00000800)

FLAG_SUPPORTS_NORMAL_SCREENS

Added in API level 4
public static final int FLAG_SUPPORTS_NORMAL_SCREENS

Value for flags: true when the application's window can be displayed on normal screens. Corresponds to android:normalScreens.

Constant Value: 1024 (0x00000400)

FLAG_SUPPORTS_RTL

Added in API level 17
public static final int FLAG_SUPPORTS_RTL

Value for flags: true when the application is willing to support RTL (right to left). All activities will inherit this value. Set from the R.attr.supportsRtl attribute in the activity's manifest. Default value is false (no support for RTL).

Constant Value: 4194304 (0x00400000)

FLAG_SUPPORTS_SCREEN_DENSITIES

Added in API level 4
Deprecated in API level 30
public static final int FLAG_SUPPORTS_SCREEN_DENSITIES

This constant was deprecated in API level 30.
Set by default when targeting API 4 or higher and apps should not set this to false.

Value for flags: true when the application knows how to accommodate different screen densities. Corresponds to android:anyDensity.

Constant Value: 8192 (0x00002000)

FLAG_SUPPORTS_SMALL_SCREENS

Added in API level 4
public static final int FLAG_SUPPORTS_SMALL_SCREENS

Value for flags: true when the application's window can be reduced in size for smaller screens. Corresponds to android:smallScreens.

Constant Value: 512 (0x00000200)

FLAG_SUPPORTS_XLARGE_SCREENS

Added in API level 11
public static final int FLAG_SUPPORTS_XLARGE_SCREENS

Value for flags: true when the application's window can be increased in size for extra large screens. Corresponds to android:xlargeScreens.

Constant Value: 524288 (0x00080000)

FLAG_SUSPENDED

Added in API level 24
public static final int FLAG_SUSPENDED

Value for flags: true if this application's package is in the suspended state.

Constant Value: 1073741824 (0x40000000)

FLAG_SYSTEM

Added in API level 1
public static final int FLAG_SYSTEM

Value for flags: if set, this application is installed in the device's system image. This should not be used to make security decisions. Instead, rely on signature checks or permissions.

Warning: Note that this flag does not behave the same as android:protectionLevel system or signatureOrSystem.

Constant Value: 1 (0x00000001)

FLAG_TEST_ONLY

Added in API level 4
public static final int FLAG_TEST_ONLY

Value for flags: this is set if the application has specified android:testOnly to be true.

Constant Value: 256 (0x00000100)

FLAG_UPDATED_SYSTEM_APP

Added in API level 4
public static final int FLAG_UPDATED_SYSTEM_APP

Value for flags: this is set if this application has been installed as an update to a built-in system application.

Constant Value: 128 (0x00000080)

FLAG_USES_CLEARTEXT_TRAFFIC

Added in API level 23
public static final int FLAG_USES_CLEARTEXT_TRAFFIC

Value for flags: true if the application may use cleartext network traffic (e.g., HTTP rather than HTTPS; WebSockets rather than WebSockets Secure; XMPP, IMAP, SMTP without STARTTLS or TLS). If false, the app declares that it does not intend to use cleartext network traffic, in which case platform components (e.g., HTTP stacks, DownloadManager, MediaPlayer) will refuse app's requests to use cleartext traffic. Third-party libraries are encouraged to honor this flag as well.

NOTE: WebView honors this flag for applications targeting API level 26 and up.

This flag is ignored on Android N and above if an Android Network Security Config is present.

This flag comes from android:usesCleartextTraffic of the <application> tag.

Constant Value: 134217728 (0x08000000)

FLAG_VM_SAFE_MODE

Added in API level 8
public static final int FLAG_VM_SAFE_MODE

Value for flags: set to true if this application would like to request the VM to operate under the safe mode. Comes from android:vmSafeMode of the <application> tag.

Constant Value: 16384 (0x00004000)

GWP_ASAN_ALWAYS

Added in API level 30
public static final int GWP_ASAN_ALWAYS

Always enable GWP-ASan in this application or process.

Constant Value: 1 (0x00000001)

GWP_ASAN_DEFAULT

Added in API level 30
public static final int GWP_ASAN_DEFAULT

Default (unspecified) setting of GWP-ASan.

Constant Value: -1 (0xffffffff)

GWP_ASAN_NEVER

Added in API level 30
public static final int GWP_ASAN_NEVER

Never enable GWP-ASan in this application or process.

Constant Value: 0 (0x00000000)

MEMTAG_ASYNC

Added in API level 31
public static final int MEMTAG_ASYNC

Enable Memtag in Async mode in this application or process.

Constant Value: 1 (0x00000001)

MEMTAG_DEFAULT

Added in API level 31
public static final int MEMTAG_DEFAULT

Default (unspecified) setting of Memtag.

Constant Value: -1 (0xffffffff)

MEMTAG_OFF

Added in API level 31
public static final int MEMTAG_OFF

Do not enable Memtag in this application or process.

Constant Value: 0 (0x00000000)

MEMTAG_SYNC

Added in API level 31
public static final int MEMTAG_SYNC

Enable Memtag in Sync mode in this application or process.

Constant Value: 2 (0x00000002)

RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT

Added in API level 31
public static final int RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT

Use default value for R.styleable.AndroidManifestApplication_requestRawExternalStorageAccess.

Constant Value: 0 (0x00000000)

RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED

Added in API level 31
public static final int RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED

Raw external storage was not requested by this app.

Constant Value: 2 (0x00000002)

RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED

Added in API level 31
public static final int RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED

Raw external storage was requested by this app.

Constant Value: 1 (0x00000001)

ZEROINIT_DEFAULT

Added in API level 31
public static final int ZEROINIT_DEFAULT

Default (unspecified) setting of nativeHeapZeroInitialized.

Constant Value: -1 (0xffffffff)

ZEROINIT_DISABLED

Added in API level 31
public static final int ZEROINIT_DISABLED

Disable zero-initialization of the native heap in this application or process.

Constant Value: 0 (0x00000000)

ZEROINIT_ENABLED

Added in API level 31
public static final int ZEROINIT_ENABLED

Enable zero-initialization of the native heap in this application or process.

Constant Value: 1 (0x00000001)

Fields

CREATOR

Added in API level 1
public static final Creator<ApplicationInfo> CREATOR

appComponentFactory

Added in API level 28
public String appComponentFactory

The factory of this package, as specified by the <manifest> tag's R.styleable.AndroidManifestApplication_appComponentFactory attribute.

backupAgentName

Added in API level 8
public String backupAgentName

Class implementing the Application's backup functionality. From the "backupAgent" attribute. This is an optional attribute and will be null if the application does not specify it in its manifest.

If android:allowBackup is set to false, this attribute is ignored.

category

Added in API level 26
public int category

The category of this app. Categories are used to cluster multiple apps together into meaningful groups, such as when summarizing battery, network, or disk usage. Apps should only define this value when they fit well into one of the specific categories.

Set from the R.attr.appCategory attribute in the manifest. If the manifest doesn't define a category, this value may have been provided by the installer via PackageManager#setApplicationCategoryHint(String, int).
Value is CATEGORY_UNDEFINED, CATEGORY_GAME, CATEGORY_AUDIO, CATEGORY_VIDEO, CATEGORY_IMAGE, CATEGORY_SOCIAL, CATEGORY_NEWS, CATEGORY_MAPS, CATEGORY_PRODUCTIVITY, or CATEGORY_ACCESSIBILITY

className

Added in API level 1
public String className

Class implementing the Application object. From the "class" attribute.

compatibleWidthLimitDp

Added in API level 13
public int compatibleWidthLimitDp

The maximum smallest screen width the application is designed for. If 0, nothing has been specified. Comes from android:compatibleWidthLimitDp attribute of the <supports-screens> tag.

compileSdkVersion

Added in API level 31
public int compileSdkVersion

The user-visible SDK version (ex. 26) of the framework against which the application claims to have been compiled, or 0 if not specified.

This property is the compile-time equivalent of Build.VERSION.SDK_INT.

compileSdkVersionCodename

Added in API level 31
public String compileSdkVersionCodename

The development codename (ex. "S", "REL") of the framework against which the application claims to have been compiled, or null if not specified.

This property is the compile-time equivalent of Build.VERSION.CODENAME.

dataDir

Added in API level 1
public String dataDir

Full path to the default directory assigned to the package for its persistent data.

descriptionRes

Added in API level 1
public int descriptionRes

A style resource identifier (in the package's resources) of the description of an application. From the "description" attribute or, if not set, 0.

deviceProtectedDataDir

Added in API level 24
public String deviceProtectedDataDir

Full path to the device-protected directory assigned to the package for its persistent data.

enabled

Added in API level 1
public boolean enabled

When false, indicates that all components within this application are considered disabled, regardless of their individually set enabled status.

largestWidthLimitDp

Added in API level 13
public int largestWidthLimitDp

The maximum smallest screen width the application will work on. If 0, nothing has been specified. Comes from android:largestWidthLimitDp attribute of the <supports-screens> tag.

manageSpaceActivityName

Added in API level 1
public String manageSpaceActivityName

Class implementing the Application's manage space functionality. From the "manageSpaceActivity" attribute. This is an optional attribute and will be null if applications don't specify it in their manifest

minSdkVersion

Added in API level 24
public int minSdkVersion

The minimum SDK version this application can run on. It will not run on earlier versions.

nativeLibraryDir

Added in API level 9
public String nativeLibraryDir

Full path to the directory where native JNI libraries are stored.

permission

Added in API level 1
public String permission

Optional name of a permission required to be able to access this application's components. From the "permission" attribute.

processName

Added in API level 1
public String processName

The name of the process this application should run in. From the "process" attribute or, if not set, the same as packageName.

publicSourceDir

Added in API level 1
public String publicSourceDir

Full path to the publicly available parts of sourceDir, including resources and manifest. This may be different from sourceDir if an application is forward locked.

requiresSmallestWidthDp

Added in API level 13
public int requiresSmallestWidthDp

The required smallest screen width the application can run on. If 0, nothing has been specified. Comes from android:requiresSmallestWidthDp attribute of the <supports-screens> tag.

sharedLibraryFiles

Added in API level 1
public String[] sharedLibraryFiles

Paths to all shared libraries this application is linked against. This field is only set if the PackageManager.GET_SHARED_LIBRARY_FILES flag was used when retrieving the structure.

sourceDir

Added in API level 1
public String sourceDir

Full path to the base APK for this application.

splitNames

Added in API level 26
public String[] splitNames

The names of all installed split APKs, ordered lexicographically. May be null if no splits are installed.

splitPublicSourceDirs

Added in API level 21
public String[] splitPublicSourceDirs

Full path to the publicly available parts of splitSourceDirs, including resources and manifest. This may be different from splitSourceDirs if an application is forward locked. May be null if no splits are installed.

See also:

splitSourceDirs

Added in API level 21
public String[] splitSourceDirs

Full paths to split APKs, indexed by the same order as splitNames. May be null if no splits are installed.

storageUuid

Added in API level 26
public UUID storageUuid

UUID of the storage volume on which this application is being hosted. For apps hosted on the default internal storage at Environment#getDataDirectory(), the UUID value is StorageManager#UUID_DEFAULT.

targetSdkVersion

Added in API level 4
public int targetSdkVersion

The minimum SDK version this application targets. It may run on earlier versions, but it knows how to work with any new behavior added at this version. Will be Build.VERSION_CODES.CUR_DEVELOPMENT if this is a development build and the app is targeting that. You should compare that this number is >= the SDK version number at which your behavior was introduced.

taskAffinity

Added in API level 1
public String taskAffinity

Default task affinity of all activities in this application. See ActivityInfo#taskAffinity for more information. This comes from the "taskAffinity" attribute.

theme

Added in API level 1
public int theme

A style resource identifier (in the package's resources) of the default visual theme of the application. From the "theme" attribute or, if not set, 0.

uiOptions

Added in API level 14
public int uiOptions

The default extra UI options for activities in this application. Set from the R.attr.uiOptions attribute in the activity's manifest.

uid

Added in API level 1
public int uid

The kernel user-ID that has been assigned to this application; currently this is not a unique ID (multiple applications can have the same uid).

Public constructors

ApplicationInfo

Added in API level 1
public ApplicationInfo ()

ApplicationInfo

Added in API level 1
public ApplicationInfo (ApplicationInfo orig)

Parameters
orig ApplicationInfo

Public methods

areAttributionsUserVisible

Added in API level 31
public boolean areAttributionsUserVisible ()

Returns whether attributions provided by the application are meant to be user-visible. Defaults to false if application info is retrieved without PackageManager#GET_ATTRIBUTIONS_LONG.

Returns
boolean

describeContents

Added in API level 1
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 1
public void dump (Printer pw, 
                String prefix)

Parameters
pw Printer

prefix String

getCategoryTitle

Added in API level 26
public static CharSequence getCategoryTitle (Context context, 
                int category)

Return a concise, localized title for the given ApplicationInfo#category value, or null for unknown values such as CATEGORY_UNDEFINED.

Parameters
context Context

category int: Value is CATEGORY_UNDEFINED, CATEGORY_GAME, CATEGORY_AUDIO, CATEGORY_VIDEO, CATEGORY_IMAGE, CATEGORY_SOCIAL, CATEGORY_NEWS, CATEGORY_MAPS, CATEGORY_PRODUCTIVITY, or CATEGORY_ACCESSIBILITY

Returns
CharSequence

See also:

getGwpAsanMode

Added in API level 30
public int getGwpAsanMode ()

Returns
int Value is GWP_ASAN_DEFAULT, GWP_ASAN_NEVER, or GWP_ASAN_ALWAYS

getKnownActivityEmbeddingCerts

Added in API level 33
public Set<String> getKnownActivityEmbeddingCerts ()

Gets the trusted host certificate digests of apps that are allowed to embed activities of this application. The digests are computed using the SHA-256 digest algorithm.

Returns
Set<String> This value cannot be null.

getMemtagMode

Added in API level 31
public int getMemtagMode ()

Returns whether the application has requested Memtag to be enabled, disabled, or left unspecified. Processes can override this setting.

Returns
int Value is MEMTAG_DEFAULT, MEMTAG_OFF, MEMTAG_ASYNC, or MEMTAG_SYNC

getNativeHeapZeroInitialized

Added in API level 31
public int getNativeHeapZeroInitialized ()

Returns whether the application has requested automatic zero-initialization of native heap memory allocations to be enabled or disabled.

Returns
int Value is ZEROINIT_DEFAULT, ZEROINIT_DISABLED, or ZEROINIT_ENABLED

getRequestRawExternalStorageAccess

Added in API level 31
public int getRequestRawExternalStorageAccess ()

Returns
int Note that this doesn't give any hints on whether the app gets raw external storage access or not. Also, apps may get raw external storage access by default in some cases, see R.styleable.AndroidManifestApplication_requestRawExternalStorageAccess. Value is RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT, RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED, or RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED

isProfileable

Added in API level 31
public boolean isProfileable ()

Returns whether this application can be profiled, either by the shell user or the system.

Returns
boolean

isProfileableByShell

Added in API level 29
public boolean isProfileableByShell ()

Returns whether or not this application can be profiled by the shell user, even when running on a device that is running in user mode.

Returns
boolean

isResourceOverlay

Added in API level 29
public boolean isResourceOverlay ()

Returns true if the package has declared in its manifest that it is a runtime resource overlay.

Returns
boolean

isVirtualPreload

Added in API level 27
public boolean isVirtualPreload ()

Returns whether or not this application was installed as a virtual preload.

Returns
boolean

loadDescription

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

Retrieve the textual description of the application. 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 application's description. If there is no description, null is returned.

toString

Added in API level 1
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

writeToParcel

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

Parameters
dest Parcel

parcelableFlags int