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.
Nested classes |
|
---|---|
class |
ApplicationInfo.DisplayNameComparator
|
Constants |
|
---|---|
int |
FLAG_ALLOW_BACKUP Value for |
int |
FLAG_ALLOW_CLEAR_USER_DATA Value for |
int |
FLAG_ALLOW_TASK_REPARENTING Value for |
int |
FLAG_DEBUGGABLE Value for |
int |
FLAG_EXTERNAL_STORAGE Value for |
int |
FLAG_EXTRACT_NATIVE_LIBS When set installer extracts native libs from .apk files. |
int |
FLAG_FACTORY_TEST Value for |
int |
FLAG_FULL_BACKUP_ONLY Value for |
int |
FLAG_HARDWARE_ACCELERATED Value for |
int |
FLAG_HAS_CODE Value for |
int |
FLAG_INSTALLED Value for |
int |
FLAG_IS_DATA_ONLY Value for |
int |
FLAG_IS_GAME Value for |
int |
FLAG_KILL_AFTER_RESTORE Value for |
int |
FLAG_LARGE_HEAP Value for |
int |
FLAG_MULTIARCH Value for |
int |
FLAG_PERSISTENT Value for |
int |
FLAG_RESIZEABLE_FOR_SCREENS Value for |
int |
FLAG_RESTORE_ANY_VERSION Value for |
int |
FLAG_STOPPED Value for |
int |
FLAG_SUPPORTS_LARGE_SCREENS Value for |
int |
FLAG_SUPPORTS_NORMAL_SCREENS Value for |
int |
FLAG_SUPPORTS_RTL Value for |
int |
FLAG_SUPPORTS_SCREEN_DENSITIES Value for |
int |
FLAG_SUPPORTS_SMALL_SCREENS Value for |
int |
FLAG_SUPPORTS_XLARGE_SCREENS Value for |
int |
FLAG_SUSPENDED Value for |
int |
FLAG_SYSTEM Value for |
int |
FLAG_TEST_ONLY Value for |
int |
FLAG_UPDATED_SYSTEM_APP Value for |
int |
FLAG_USES_CLEARTEXT_TRAFFIC Value for |
int |
FLAG_VM_SAFE_MODE Value for |
Inherited constants |
---|
![]() android.os.Parcelable
|
Fields |
|
---|---|
public static final Creator<ApplicationInfo> |
CREATOR
|
public String |
backupAgentName Class implementing the Application's backup functionality. |
public String |
className Class implementing the Application object. |
public int |
compatibleWidthLimitDp The maximum smallest screen width the application is designed for. |
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 |
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[] |
splitPublicSourceDirs Full path to the publicly available parts of |
public String[] |
splitSourceDirs Full paths to zero or more split APKs that, when combined with the base APK defined in |
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 |
---|
![]() android.content.pm.PackageItemInfo
|
Public constructors |
|
---|---|
ApplicationInfo() |
|
ApplicationInfo(ApplicationInfo orig) |
Public methods |
|
---|---|
int |
describeContents() Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
void |
dump(Printer pw, String prefix) |
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 |
|
---|---|
![]() android.content.pm.PackageItemInfo
|
|
![]() java.lang.Object
|
|
![]() android.os.Parcelable
|
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)
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)
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)
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)
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)
int FLAG_EXTRACT_NATIVE_LIBS
When set installer extracts native libs from .apk files.
Constant Value: 268435456 (0x10000000)
int FLAG_FACTORY_TEST
Value for flags
: set to true if this application holds the FACTORY_TEST
permission and the device is running in factory test mode.
Constant Value: 16 (0x00000010)
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)
int FLAG_HARDWARE_ACCELERATED
Value for flags
: true
when the application's rendering should be hardware accelerated.
Constant Value: 536870912 (0x20000000)
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)
int FLAG_INSTALLED
Value for flags
: true if the application is currently installed for the calling user.
Constant Value: 8388608 (0x00800000)
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)
int FLAG_IS_GAME
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)
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)
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)
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)
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)
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)
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)
int FLAG_STOPPED
Value for flags
: true if this application's package is in the stopped state.
Constant Value: 2097152 (0x00200000)
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)
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)
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 supportsRtl
attribute in the activity's manifest. Default value is false (no support for RTL).
Constant Value: 4194304 (0x00400000)
int FLAG_SUPPORTS_SCREEN_DENSITIES
Value for flags
: true when the application knows how to accomodate different screen densities. Corresponds to android:anyDensity
.
Constant Value: 8192 (0x00002000)
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)
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)
int FLAG_SUSPENDED
Value for flags
: true if this application's package is in the suspended state.
Constant Value: 1073741824 (0x40000000)
int FLAG_SYSTEM
Value for flags
: if set, this application is installed in the device's system image.
Constant Value: 1 (0x00000001)
int FLAG_TEST_ONLY
Value for flags
: this is set if the application has specified android:testOnly
to be true.
Constant Value: 256 (0x00000100)
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)
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, STMP 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
does not honor this flag.
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)
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)
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.
String className
Class implementing the Application object. From the "class" attribute.
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.
String dataDir
Full path to the default directory assigned to the package for its persistent data.
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.
String deviceProtectedDataDir
Full path to the device-protected directory assigned to the package for its persistent data.
See also:
boolean enabled
When false, indicates that all components within this application are considered disabled, regardless of their individually set enabled status.
int flags
Flags associated with the application. Any combination of FLAG_SYSTEM
, FLAG_DEBUGGABLE
, FLAG_HAS_CODE
, FLAG_PERSISTENT
, FLAG_FACTORY_TEST
, and FLAG_ALLOW_TASK_REPARENTING
FLAG_ALLOW_CLEAR_USER_DATA
, FLAG_UPDATED_SYSTEM_APP
, FLAG_TEST_ONLY
, FLAG_SUPPORTS_SMALL_SCREENS
, FLAG_SUPPORTS_NORMAL_SCREENS
, FLAG_SUPPORTS_LARGE_SCREENS
, FLAG_SUPPORTS_XLARGE_SCREENS
, FLAG_RESIZEABLE_FOR_SCREENS
, FLAG_SUPPORTS_SCREEN_DENSITIES
, FLAG_VM_SAFE_MODE
, FLAG_ALLOW_BACKUP
, FLAG_KILL_AFTER_RESTORE
, FLAG_RESTORE_ANY_VERSION
, FLAG_EXTERNAL_STORAGE
, FLAG_LARGE_HEAP
, FLAG_STOPPED
, FLAG_SUPPORTS_RTL
, FLAG_INSTALLED
, FLAG_IS_DATA_ONLY
, FLAG_IS_GAME
, FLAG_FULL_BACKUP_ONLY
, FLAG_USES_CLEARTEXT_TRAFFIC
, FLAG_MULTIARCH
.
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.
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
int minSdkVersion
The minimum SDK version this application can run on. It will not run on earlier versions.
String nativeLibraryDir
Full path to the directory where native JNI libraries are stored.
String permission
Optional name of a permission required to be able to access this application's components. From the "permission" attribute.
String processName
The name of the process this application should run in. From the "process" attribute or, if not set, the same as packageName.
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.
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.
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.
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.
String[] splitSourceDirs
Full paths to zero or more split APKs that, when combined with the base APK defined in sourceDir
, form a complete application.
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 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.
String taskAffinity
Default task affinity of all activities in this application. See taskAffinity
for more information. This comes from the "taskAffinity" attribute.
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.
int uiOptions
The default extra UI options for activities in this application. Set from the uiOptions
attribute in the activity's manifest.
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).
ApplicationInfo (ApplicationInfo orig)
Parameters | |
---|---|
orig |
ApplicationInfo
|
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. |
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. |
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. |
void writeToParcel (Parcel dest, int parcelableFlags)
Parameters | |
---|---|
dest |
Parcel
|
parcelableFlags |
int
|