PackageInfo:
获得方法:
PackageManager packageManager = context.getPackageManager();//返回packagemanager实例来找到
List allPackageInfos = packageManager
.getInstalledPackages(packageManager.GET_UNINSTALLED_PACKAGES
| packageManager.GET_ACTIVITIES);// 初始化时先要得到当前的所有进程
特点:常用字段:
public String packageName 包名
public ActivityInfo[] activities 所有节点信息
public ApplicationInfo applicationInfo 节点信息,只有一个
public ActivityInfo[] receivers 所有节点信息,多个
public ServiceInfo[] services 所有节点信息 ,多个通过 PackageInfo 获取具体信息方法:
包名获取方法:packageInfo.packageName
icon获取获取方法:packageManager.getApplicationIcon(applicationInfo)
应用名称获取方法:packageManager.getApplicationLabel(applicationInfo)
使用权限获取方法:packageManager.getPackageInfo(packageName,PackageManager.GET_PERMISSIONS).requestedPermissionsApplicationInfo:
获得方法:
List sysPackageInfos = new ArrayList();// 定义系统安装软件信息包
for (PackageInfo packageInfo : allPackageInfos)// 循环取出所有软件信息
{
ApplicationInfo applicationInfo = packageInfo.applicationInfo;// 得到每个软件信息}特点:
ApplicationInfo是从一个特定的应用得到的信息。这些信息是从相对应的Androdimanifest.xml的< application>标签中收集到的。
ApplicationInfo类 继承自 PackageItemInfo
说明:获取一个特定引用程序中节点的信息。
字段说明:
flags字段: FLAG_SYSTEM 系统应用程序
FLAG_EXTERNAL_STORAGE 表示该应用安装在sdcard中
常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()ResolveInfo:
获得方法:
Intent startIntent = new Intent(Intent.ACTION_MAIN, null);//为本startIntent设置行为为ACTION_MAIN
startIntent.addCategory(Intent.CATEGORY_LAUNCHER);//为本startIntent设置启动方式为LAUNCHER
startIntent.setPackage(packageInfo.getPkgName());//为本startIntent设置包名为packageInfo.getPkgName()
//以startIntent为查询条件查询出需要启动的App的信息
//功能 :返回给定条件的所有ResolveInfo对象(本质上是Activity),集合对象
List startInfoList = SoftManagementActivity.this
.getPackageManager().queryIntentActivities(startIntent, 0);
//如果startInfoList的长度小于1,则返回
if (startInfoList.size() < 1)
{
return;
}
//startInfoList中一般第一条就是启程App的信息
ResolveInfo startInfo = startInfoList.iterator().next();特点:
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:
获得方法:
ActivityInfo activityInfo = startInfo.activityInfo;
特点:ActivityInfo类 继承自 PackageItemInfo
说明: 获得应用程序中或者 节点的信息 。我们可以通过它来获取我们设置的任何属性,包括
theme 、launchMode、launchmode等
常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()
resolve方法
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:java监控汇川plc报警
下一篇:监控服务进程是否掉线的方法
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
How to resolve error “Failed to resolve:
//implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" im
ndk android err kotlin Android Kotlin -
router的resolve方法
一、路由定义理解 1、路由,其实就是指向,当我点击页面home按钮时,就显示home内容,点击about按钮时就显示about内容,可以理解为home按钮=>home内容,about按钮=>about内容的一 一对应的映射关系。 2、路由中有三个基本的概念 route, routes, rout
router的resolve方法 vue-router vue vue 路由 Vue -
python 通过ffmpeg多线程实时拉流
目录总操作模式的设计 一次可以处理多个文件。 一个例子 多文件处理的技巧 参数设计 输出路径工具一、Gif 转换器 方法来源 效果参考 实际指令 代码以及使用工具二、画面裁切(crop) &
ffmpeg python potplayer photoshop 命令行