PackageManager使用
参考:http://www.linuxidc.com/Linux/2012-02/53072.htm
Android系统为我们提供了很多服务管理类,包括ActivityManager、PowerManager(电源管理)、AudioManager(音频管理)。PackageManager主要是管理应用程序包,通过它就可以获取应用程序信息。
写了一个Demo,主要实现了获取系统中所有应用程序信息,并构建Intent,启动对应的应用。
AndroidPackageDemo.7z
引入:AndroidManifest.xml文件节点说明:
相关类的介绍
PackageManger 类
说明: 获得已安装的应用程序信息 。可以通过getPackageManager()方法获得。 常用方法: public abstract PackageManager getPackageManager() 功能:获得一个PackageManger对象 public abstract Drawable getApplicationIcon(String packageName) 参数: packageName 包名 功能:返回给定包名的图标,否则返回null public abstract ApplicationInfo getApplicationInfo(String packageName, int flags) 参数: packagename 包名flags 该ApplicationInfo是此flags标记,通常可以直接赋予常数0即可 功能:返回该ApplicationInfo对象 public abstract List<ApplicationInfo> getInstalledApplications(int flags) 参数: flag为一般为GET_UNINSTALLED_PACKAGES,那么此时会返回所有ApplicationInfo。我们可以对ApplicationInfo的flags过滤,得到我们需要的。 功能:返回给定条件的所有PackageInfo public abstract List<PackageInfo> getInstalledPackages(int flags) 参数如上 功能:返回给定条件的所有PackageInfo public abstractResolveInfo resolveActivity(Intent intent, int flags) 参数: intent 查寻条件,Activity所配置的action和categoryflags: MATCH_DEFAULT_ONLY :Category必须带有CATEGORY_DEFAULT的Activity,才匹配GET_INTENT_FILTERS :匹配Intent条件即可GET_RESOLVED_FILTER :匹配Intent条件即可 功能 :返回给定条件的ResolveInfo对象(本质上是Activity) public abstract List<ResolveInfo> queryIntentActivities(Intent intent, int flags) 参数同上 功能 :返回给定条件的所有ResolveInfo对象(本质上是Activity),集合对象 public abstract ResolveInfo resolveService(Intent intent, int flags) 参数同上 功能 :返回给定条件的ResolveInfo对象(本质上是Service) public abstract List<ResolveInfo> queryIntentServices(Intent intent, int flags) 参数同上 功能 :返回给定条件的所有ResolveInfo对象(本质上是Service),集合对象
PackageInfo类
说明:手动获取AndroidManifest.xml文件的信息 。常用字段:public String packageName 包名 public ActivityInfo[] activities 所有<activity>节点信息public ApplicationInfo applicationInfo <application>节点信息,只有一个public ActivityInfo[] receivers 所有<receiver>节点信息,多个public ServiceInfo[] services 所有<service>节点信息 ,多个
PackageItemInfo类
说明: AndroidManifest.xml文件中所有节点的基类,提供了这些节点的基本信息:label、icon、 meta-data。它并不直接使用,而是由子类继承然后调用相应方法。
ApplicationInfo类 继承自 PackageItemInfo
说明:获取一个特定引用程序中<application>节点的信息。字段说明:flags字段: FLAG_SYSTEM 系统应用程序、FLAG_EXTERNAL_STORAGE 表示该应用安装在sdcard中常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()
ActivityInfo类 继承自 PackageItemInfo
说明: 获得应用程序中<activity/>或者 <receiver />节点的信息 。我们可以通过它来获取我们设置的任何属性,包括theme 、launchMode、launchmode等 常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()
ServiceInfo 类
说明: 同ActivityInfo类似 ,同样继承自 PackageItemInfo,只不过它表示的是<service>节点信息。 ResolveInfo类说明:根据<intent>节点来获取其上一层目录的信息,通常是<activity>、<receiver>、<service>节点信息。
PackageManager使用相关推荐
- android 获取 第三方应用,android PackageManager的使用如何获取第三方应用程序(包)的信息,求大神指点...
我只写出了系统的应用程序(包)的信息,第三方的没有出来,怎么办,求解 public class MainActivity extends Activity { List appInfos; @Over ...
- android之PackageManager简单介绍
PackageManager相关 本类API是对全部基于载入信息的数据结构的封装,包含下面功能: 安装,卸载应用查询permission相关信息 查询Application相关信息(applicati ...
- XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager,
android开发之多个provider的解决方法: 下面的报错针对android7.0及以上都是一个问题就是provider的authorities没有对上. 看下报错代码: java.lang.N ...
- linux ndk编译so,有的APP NDK 编译的SO文件 无法调用 PackageManager
反馈BUG之前,先issue里面搜看看有没有别人已经反馈过,重复的不予处理!! 问题描述 最近下了一个不可描述APP,实机是能运行的,不过在VXP里则报如下错误 07-14 15:48:28.672 ...
- Android 之PackageManager框架
http://blog.csdn.net/stonecao/article/details/6591454 1.接着前面讲的ActivityManager框架,继续说一下系统另一个重要的框架,Pack ...
- Android之获取应用程序(包)的大小-----PackageManager的使用(二)
http://blog.csdn.net/qinjuning/article/details/6892054 通过第一部分 << Android中获取应用程序(包)的信息-----Pack ...
- Android之中获取应用程序(包)的信息-----PackageManager的使用(一)
转载:http://blog.csdn.net/qinjuning/article/details/6867806 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename ...
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagename ...
- android 获取默认程序图标,android – PackageManager.getApplicationIcon()返回默认图标?...
我刚想通了.有一个PackageManager.getDefaultActivityIcon()方法返回一个Drawable.如果Drawable的Bitmap与应用程序图标Drawable的Bitm ...
- Android应用程序管理系列(四)—— packagemanager flags 与 packageInfo
Android PackageInfo 应用程序信息 1.简述 1 官方解析为 Overall information about the contents of a package. This co ...
最新文章
- vPower系列1: vMotion-没有vMotion,虚拟化只是玩具
- 一天狂揽2000+星,微软面向初学者ML课程来了,完全免费
- 【剑指offer-Java版】25二叉树中和为某一值的路径
- 第20月第4天 pycharm utf-8
- 【spring学习笔记】(二)Spring MVC注解配置 参数转换注解@RequestMapping@RequestParam、@PathVariable@MatrixVariable
- C# 系统应用之窗体最小化至任务栏及常用操作
- LMSn没有运行在RT (real time) 模式Oracle 19c RAC?
- bzoj 3798: 特殊的质数(分块打表)
- 【爬虫】从地理空间数据云上批量下载遥感影像
- 牛顿法详解(海森矩阵如何使用)
- 高等数学---常见的几个泰勒公式
- 电池、电机、螺旋桨搭配
- 手机屏幕分类、材料硬度解析
- 用计算机弹小白船,光遇小白船怎么弹 小白船琴谱
- excel 查找图相框或文本框中的内容
- DKN: Deep Knowledge-Aware Network for News Recommendation
- 【72】编辑距离问题
- python中爬取网页图片
- svn: OPTIONS of 'https://lym-pc/svn/CRM': Could not resolve hostname 'lym-pc'
- 【全志T113-S3_100ask】4G模块EC200A的使用
热门文章
- Jenkins下载插件,报java.net.SocketTimeoutException: Read timed out
- 网红电商第一股首份财报继续亏损,如涵的网红效应还能持续多久?
- wav怎么转换成mp3?
- 基于W800的AIOT离在线一体方案说明 (阿里飞燕+离线语音控制)
- 成功解决3dmax中,旋转时透视图可以看穿物体
- matlab中如何对一个小数取整,学习笔记153—matlab中小数如何取整?
- web网页保存为PDF文件
- HOST 文件网页屏蔽广告
- 多源多目标统计信息融合 目标跟踪 信息融合 贝叶斯滤波总结
- Flutter ListView子项长按浮层菜单实现