PackageInfo、ApplicationInfo、ActivityInfo、ResolveInfo
PackageInfo:
- 包名获取方法:packageInfo.packageName
- icon获取获取方法:packageManager.getApplicationIcon(applicationInfo)
- 应用名称获取方法:packageManager.getApplicationLabel(applicationInfo)
- 使用权限获取方法:packageManager.getPackageInfo(packageName,PackageManager.GET_PERMISSIONS).requestedPermissions
ApplicationInfo:
ApplicationInfo是从一个特定的应用的imanifest.xml的< application>标签中收集信息。
ApplicationInfo类 继承自 PackageItemInfo
说明:获取一个特定引用程序中
字段说明:
flags字段: FLAG_SYSTEM 系统应用程序
FLAG_EXTERNAL_STORAGE 表示该应用安装在sdcard中
常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()
ResolveInfo:
ResolveInfo通过解析一个与IntentFilter相对应的intent得到信息。它对应于从AndroidManifest.xml的< intent>标签收集到的信息。
ResolveInfo类
说明:根据
常用字段:
public ActivityInfo activityInfo 获取 ActivityInfo对象,即
public ServiceInfo serviceInfo 获取 ServiceInfo对象,即
常用方法:
Drawable loadIcon(PackageManager pm) 获得当前应用程序的图像
CharSequence loadLabel(PackageManager pm) 获得当前应用程序的label
通过ResolveInfo 获取具体信息方法:
- 包名获取方法:resolve.activityInfo.packageName
- icon获取获取方法:resolve.loadIcon(packageManager)
- 应用名称获取方法:resolve.loadLabel(packageManager).toString()
ActivityInfo:
继承自 PackageItemInfo
说明: 获得应用程序中
theme 、launchMode、launchmode等,常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()