public class ApplicationInfo
extends PackageItemInfo
implements Parcelable
java.lang.Object | ||
↳ | android.content.pm.PackageItemInfo | |
↳ | android.content.pm.ApplicationInfo |
您可以检索有关特定应用程序的信息。 这对应于从AndroidManifest.xml的<application>标签收集的信息。
Nested classes |
|
---|---|
class |
ApplicationInfo.DisplayNameComparator
|
Constants |
|
---|---|
int |
FLAG_ALLOW_BACKUP
|
int |
FLAG_ALLOW_CLEAR_USER_DATA
|
int |
FLAG_ALLOW_TASK_REPARENTING
|
int |
FLAG_DEBUGGABLE
|
int |
FLAG_EXTERNAL_STORAGE
|
int |
FLAG_EXTRACT_NATIVE_LIBS 设置安装程序从.apk文件中提取本机库时。 |
int |
FLAG_FACTORY_TEST
|
int |
FLAG_FULL_BACKUP_ONLY 价值 |
int |
FLAG_HARDWARE_ACCELERATED
|
int |
FLAG_HAS_CODE
|
int |
FLAG_INSTALLED |
int |
FLAG_IS_DATA_ONLY |
int |
FLAG_IS_GAME
|
int |
FLAG_KILL_AFTER_RESTORE
|
int |
FLAG_LARGE_HEAP |
int |
FLAG_MULTIARCH |
int |
FLAG_PERSISTENT
|
int |
FLAG_RESIZEABLE_FOR_SCREENS
|
int |
FLAG_RESTORE_ANY_VERSION
|
int |
FLAG_STOPPED |
int |
FLAG_SUPPORTS_LARGE_SCREENS |
int |
FLAG_SUPPORTS_NORMAL_SCREENS
|
int |
FLAG_SUPPORTS_RTL
|
int |
FLAG_SUPPORTS_SCREEN_DENSITIES
|
int |
FLAG_SUPPORTS_SMALL_SCREENS
|
int |
FLAG_SUPPORTS_XLARGE_SCREENS
|
int |
FLAG_SUSPENDED |
int |
FLAG_SYSTEM
|
int |
FLAG_TEST_ONLY
|
int |
FLAG_UPDATED_SYSTEM_APP
|
int |
FLAG_USES_CLEARTEXT_TRAFFIC
|
int |
FLAG_VM_SAFE_MODE
|
Inherited constants |
---|
From interface android.os.Parcelable
|
Fields |
|
---|---|
public static final Creator<ApplicationInfo> |
CREATOR |
public String |
backupAgentName 实现应用程序备份功能的类。 |
public String |
className 实现Application对象的类。 |
public int |
compatibleWidthLimitDp 应用程序设计的最小屏幕宽度。 |
public String |
dataDir 完整路径分配给包的持久数据的默认目录。 |
public int |
descriptionRes 应用程序描述的样式资源标识符(位于程序包的资源中)。 |
public String |
deviceProtectedDataDir 设备保护目录的完整路径,分配给软件包的永久数据。 |
public boolean |
enabled 如果为false,则表示此应用程序中的所有组件均被视为已禁用,无论其单独设置为启用状态。 |
public int |
flags 与应用程序关联的标志。 |
public int |
largestWidthLimitDp 应用程序将使用的最小屏幕宽度。 |
public String |
manageSpaceActivityName 实现应用程序管理空间功能的类。 |
public int |
minSdkVersion 此应用程序可以运行的最低SDK版本。 |
public String |
nativeLibraryDir 存储本机JNI库的目录的完整路径。 |
public String |
permission 为了能够访问这个应用程序的组件所需的权限的可选名称。 |
public String |
processName 这个应用程序应该运行的进程的名称。 |
public String |
publicSourceDir 公共可用部分 |
public int |
requiresSmallestWidthDp 应用程序可以运行所需的最小屏幕宽度。 |
public String[] |
sharedLibraryFiles 与此应用程序链接的所有共享库的路径。 |
public String |
sourceDir 适用于此应用程序的基本APK的完整路径。 |
public String[] |
splitPublicSourceDirs 公开可用部分 |
public String[] |
splitSourceDirs 完整路径为零个或多个拆分APK,当与 |
public int |
targetSdkVersion 此应用程序的最低SDK版本。 |
public String |
taskAffinity 此应用程序中所有活动的默认任务关联。 |
public int |
theme 应用程序的默认视觉主题的样式资源标识符(位于程序包的资源中)。 |
public int |
uiOptions 此应用程序中活动的默认额外UI选项。 |
public int |
uid 已分配给此应用程序的内核用户标识; 目前这不是一个唯一的ID(多个应用程序可以具有相同的uid)。 |
Inherited fields |
---|
From class android.content.pm.PackageItemInfo
|
Public constructors |
|
---|---|
ApplicationInfo() |
|
ApplicationInfo(ApplicationInfo orig) |
Public methods |
|
---|---|
int |
describeContents() 描述此Parcelable实例的封送表示中包含的特殊对象的种类。 |
void |
dump(Printer pw, String prefix) |
CharSequence |
loadDescription(PackageManager pm) 检索应用程序的文本描述。 |
String |
toString() 返回对象的字符串表示形式。 |
void |
writeToParcel(Parcel dest, int parcelableFlags) |
Inherited methods |
|
---|---|
From class android.content.pm.PackageItemInfo
|
|
From class java.lang.Object
|
|
From interface android.os.Parcelable
|
int FLAG_ALLOW_BACKUP
flags
值:如果应用程序不希望允许任何操作系统驱动的数据备份,则设置为false
; 否则为true
。
来自<application>标签的 android:allowBackup
属性。
常量值:32768(0x00008000)
int FLAG_ALLOW_CLEAR_USER_DATA
flags
值:相应ActivityInfo标志的默认值。 来自<application>标签的android:allowClearUserData
。
常量值:64(0x00000040)
int FLAG_ALLOW_TASK_REPARENTING
flags
值:相应ActivityInfo标志的默认值。 来自<application>标签的android:allowTaskReparenting
。
常量值:32(0x00000020)
int FLAG_DEBUGGABLE
flags
值:如果此应用程序想要调试其代码,即使安装在非开发系统上,也设置为true。 来自<application>标签的android:debuggable
。
常量值:2(0x00000002)
int FLAG_EXTERNAL_STORAGE
flags
值:如果应用程序当前安装在外部/可移动/不受保护的存储上,则设置为true。 如果这些应用程序的存储当前未安装,则可能无法使用这些应 当它所在的存储不可用时,它看起来应用程序已被卸载(它的.apk不再可用),但其持久数据不会被删除。
常量值:262144(0x00040000)
int FLAG_EXTRACT_NATIVE_LIBS
设置安装程序从.apk文件中提取本机库时。
常量值:268435456(0x10000000)
int FLAG_FACTORY_TEST
flags
值:如果此应用程序保持 FACTORY_TEST
权限并且设备正在工厂测试模式下运行,则设置为true。
常量值:16(0x00000010)
int FLAG_FULL_BACKUP_ONLY
flags
值: true
如果应用程序要求仅执行其数据的全数据流备份,即使它定义了一个 BackupAgent
,通常表示该应用程序将通过增量键/值更新管理其备份数据。
常量值:67108864(0x04000000)
int FLAG_HARDWARE_ACCELERATED
flags
: true
当应用程序的渲染应硬件加速。
常量值:536870912(0x20000000)
int FLAG_HAS_CODE
flags
值:如果此应用程序具有与其关联的代码,则设置为true。 来自<application>标签的android:hasCode
。
常量值:4(0x00000004)
int FLAG_INSTALLED
flags
值:如果当前为主叫用户安装了应用程序, flags
true。
常量值:8388608(0x00800000)
int FLAG_IS_DATA_ONLY
flags
值:如果应用程序仅安装了其数据, flags
true; 应用程序包本身当前不存在于设备上。
常量值:16777216(0x01000000)
int FLAG_IS_GAME
flags
值:如果应用程序被声明为游戏,则为true;如果为非游戏应用程序,则为false。
常量值:33554432(0x02000000)
int FLAG_KILL_AFTER_RESTORE
flags
值:如果应用程序必须在完整系统恢复操作后保存在内存中,则设置为false
; 否则为true
。 通常,在完整的系统还原操作期间,每个应用程序在执行其代理的onRestore()方法后关闭。 将此属性设置为false
可以防止出现这种情况。 大多数应用程序不需要设置此属性。
如果 android:allowBackup
设置为 false
或者没有指定 android:backupAgent
,则该标志将被忽略。
来自<application>标签的 android:killAfterRestore
属性。
常量值:65536(0x00010000)
int FLAG_LARGE_HEAP
flags
值:应用程序为其进程请求flags
时为true。 对应于android:largeHeap
。
常量值:1048576(0x00100000)
int FLAG_MULTIARCH
flags
值:如果此应用程序的代码需要加载到其他应用程序的进程中,则flags
true。 在支持多个指令集的设备上,这意味着代码可能会加载到使用任何设备支持的指令集的进程中。
系统可能会专门处理这些应用程序,例如,通过为所有支持的指令集提取应用程序的本机库,或通过编译应用程序的所有受支持指令集的dex代码。
常量值:-2147483648(0x80000000)
int FLAG_PERSISTENT
flags
值:如果此应用程序持久存在,则设置为true。 来自<application>标签的android:persistent
。
常量值:8(0x00000008)
int FLAG_RESIZEABLE_FOR_SCREENS
flags
值:应用程序知道如何针对不同屏幕尺寸调整其UI时为true。 对应于android:resizeable
。
常量值:4096(0x00001000)
int FLAG_RESTORE_ANY_VERSION
flags
值:如果应用程序的备份代理声称即使“将来”也能处理还原数据,即设置为版本代码大于设备上当前安装的版本的应用程序版本,则设置为true
。 谨慎使用! 默认情况下,此属性为false
,备份管理器将确保在还原操作期间从未提供应用程序“将来”版本的数据。
如果 android:allowBackup
设置为 false
或者没有指定 android:backupAgent
,则该标志将被忽略。
来自<application>标签的 android:restoreAnyVersion
属性。
常量值:131072(0x00020000)
int FLAG_STOPPED
flags
值:如果此应用程序的包处于停止状态, flags
true。
常量值:2097152(0x00200000)
int FLAG_SUPPORTS_LARGE_SCREENS
flags
值:如果应用程序的窗口在较大屏幕上可以增大, flags
true。 对应于android:largeScreens
。
常量值:2048(0x00000800)
int FLAG_SUPPORTS_NORMAL_SCREENS
flags
值:当应用程序的窗口可以在正常屏幕上显示时为true。 对应于android:normalScreens
。
常量值:1024(0x00000400)
int FLAG_SUPPORTS_RTL
flags
值:当应用程序愿意支持RTL(从右到左)时为true。 所有活动都将继承此值。 从活动清单中的supportsRtl
属性设置。 默认值为false(不支持RTL)。
常量值:4194304(0x00400000)
int FLAG_SUPPORTS_SCREEN_DENSITIES
flags
值:当应用程序知道如何适应不同的屏幕密度时为true。 对应于android:anyDensity
。
常量值:8192(0x00002000)
int FLAG_SUPPORTS_SMALL_SCREENS
flags
值:对于较小的屏幕,可以缩小应用程序窗口的大小时为true。 对应于android:smallScreens
。
常量值:512(0x00000200)
int FLAG_SUPPORTS_XLARGE_SCREENS
flags
值:当应用程序窗口的尺寸增加到超大屏幕时为true。 对应于android:xlargeScreens
。
常量值:524288(0x00080000)
int FLAG_SUSPENDED
flags
值:如果此应用程序的包处于挂起状态, flags
true。
常量值:1073741824(0x40000000)
int FLAG_TEST_ONLY
flags
值:如果应用程序指定 android:testOnly
为真,则设置此值。
常量值:256(0x00000100)
int FLAG_UPDATED_SYSTEM_APP
flags
值:如果此应用程序已作为内置系统应用程序的更新安装,则设置此值。
常量值:128(0x00000080)
int FLAG_USES_CLEARTEXT_TRAFFIC
如果应用程序可能使用明文网络通信(例如,HTTP而不是HTTPS; WebSockets而不是WebSockets Secure; XMPP,IMAP,STMP,而不使用STARTTLS或TLS),则flags
: true
。 如果false
,应用程序声明,它不打算使用明文的网络流量,在这种情况下,平台组件(例如,HTTP堆栈, DownloadManager
, MediaPlayer
)将拒绝应用程序的请求使用明文流量。 鼓励第三方图书馆也尊重这个标志。
注意: WebView
不会兑现此标志。
如果存在Android网络安全配置,则此标志在Android N及以上版本中将被忽略。
该标志来自<application>标签的 android:usesCleartextTraffic
。
常量值:134217728(0x08000000)
int FLAG_VM_SAFE_MODE
flags
值:如果此应用程序想要请求VM在安全模式下运行,则设置为true。 来自<application>标签的android:vmSafeMode
。
常量值:16384(0x00004000)
String backupAgentName
实现应用程序备份功能的类。 从“backupAgent”属性。 这是一个可选属性,如果应用程序未在其清单中指定它,它将为空。
如果android:allowBackup设置为false,则忽略此属性。
int compatibleWidthLimitDp
应用程序设计的最小屏幕宽度。 如果为0,则没有指定任何内容。 来自<supports-screens>标签的android:compatibleWidthLimitDp
属性。
int descriptionRes
应用程序描述的样式资源标识符(位于程序包的资源中)。 从“description”属性或如果未设置,则为0。
int flags
与应用程序关联的标志。 的任何组合FLAG_SYSTEM
, FLAG_DEBUGGABLE
, FLAG_HAS_CODE
, FLAG_PERSISTENT
, FLAG_FACTORY_TEST
,和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
应用程序将使用的最小屏幕宽度。 如果为0,则没有指定任何内容。 来自<supports-screens>标签的android:largestWidthLimitDp
属性。
String manageSpaceActivityName
实现应用程序管理空间功能的类。 从“manageSpaceActivity”属性。 这是一个可选属性,如果应用程序没有在其清单中指定它,它将为空
String processName
此应用程序应该运行的进程的名称。从“process”属性或者如果未设置,则与 packageName相同。
int requiresSmallestWidthDp
应用程序可以运行所需的最小屏幕宽度。 如果为0,则没有指定任何内容。 来自<supports-screens>标签的android:requiresSmallestWidthDp
属性。
String[] sharedLibraryFiles
与此应用程序链接的所有共享库的路径。 只有在检索结构时使用了PackageManager.GET_SHARED_LIBRARY_FILES
标志,才会设置此字段。
String[] splitPublicSourceDirs
公开可用部分splitSourceDirs
完整路径,包括资源和清单。 如果应用程序被转发锁定,这可能与splitSourceDirs
不同。
String[] splitSourceDirs
与零个或多个拆分APK的完整路径,当与 sourceDir
定义的基本APK结合时,将形成一个完整的应用程序。
int targetSdkVersion
此应用程序的最低SDK版本。 它可以在早期版本上运行,但它知道如何处理在该版本中添加的任何新行为。 如果这是一个开发版本,并且该应用以此为目标,将会是CUR_DEVELOPMENT
。 你应该比较这个数字是> =你的行为被引入的SDK版本号。
String taskAffinity
此应用程序中所有活动的默认任务关联。 有关更多信息,请参阅taskAffinity
。 这来自“taskAffinity”属性。
ApplicationInfo (ApplicationInfo orig)
Parameters | |
---|---|
orig |
ApplicationInfo
|
int describeContents ()
描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象将在writeToParcel(Parcel, int)
的输出中包含writeToParcel(Parcel, int)
,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR
位。
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
CharSequence loadDescription (PackageManager pm)
检索应用程序的文本描述。 这将回调给定的PackageManager以从应用程序加载描述。
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 ()
返回对象的字符串表示形式。 一般来说, toString
方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
void writeToParcel (Parcel dest, int parcelableFlags)
Parameters | |
---|---|
dest |
Parcel
|
parcelableFlags |
int
|