返回顶部
首页 > 资讯 > 移动开发 >Android中PackageManager使用详解
  • 459
分享到

Android中PackageManager使用详解

2024-04-02 19:04:59 459人浏览 八月长安
摘要

目录前言引入:AndroidManifest.xml文件节点说明:相关类的介绍PackageManger 类PackageInfo类  PackageItemInfo类Applica

前言

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和cateGory
  flags: 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>节点信息。

参考:Http://www.linuxidc.com/Linux/2012-02/53072.htm

总结

到此这篇关于Android中PackageManager使用详解的文章就介绍到这了,更多相关Android PackageManager使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Android中PackageManager使用详解

本文链接: https://lsjlt.com/news/158100.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android中PackageManager使用详解
    目录前言引入:AndroidManifest.xml文件节点说明:相关类的介绍PackageManger 类PackageInfo类  PackageItemInfo类Applica...
    99+
    2024-04-02
  • Android中使用AspectJ详解
    什么是AOP AOP是Aspect Oriented Programming的缩写,即『面向切面编程』。它和我们平时接触到的OOP都是编程的不同思想,OOP,即『面向对象编程』...
    99+
    2022-06-06
    aspectj Android
  • Android中PreferenceActivity使用详解
    目录一,Preference介绍二,PreferencesActivity介绍三,PreferenceActivity的使用四,PreferenceActivity分别和ListFr...
    99+
    2024-04-02
  • Android 中Banner的使用详解
    首先倒入一个依赖: compile 'com.youth.banner:banner:1.4.9' 添加的权限: <uses-permission android:n...
    99+
    2022-06-06
    Android
  • 详解Android中Dialog的使用
    在Android中经常要使用Dialog来实现一些提示以及一些特殊的效果,而且样式也不一样,每次都得查一大堆资料,还不一定能解决,这里总结一些常用的Dialog的实践。 普通的...
    99+
    2022-06-06
    dialog Android
  • Android中的android:layout_weight使用详解
    在使用LinearLayout的时候,子控件可以设置layout_weight。layout_weight的作用是设置子空间在LinearLayout的重要度(控件的大小比重)...
    99+
    2022-06-06
    weight Android
  • 详解Android中AIDL的使用
    AIDL,即Android Interface Definition Language,Android接口定义语言。这门语言是为了实现进程间通信。每一个进程都有自己的一块独立的内存,...
    99+
    2024-04-02
  • Android中PreferenceFragment的使用详解
    目录PreferenceFragment简介PreferenceFragment使用PreferenceFragment 扩展PreferenceFragment简介 在我们写一个...
    99+
    2024-04-02
  • 详解Android中motion_toast的使用
    目录前言motion_toast 介绍示例最简单用法其他内置的提醒自定义 toast总结前言 我们通常会用 toast(也叫吐司)来显示提示信息,例如网络请求错误,校验错误等等。大多...
    99+
    2024-04-02
  • Android中PopupWindow使用方法详解
    参考原文Android PopupWindow用法解析进行学习,通过实例及PopupWindow源码分析了PopupWindow的使用。文章最后的“补充Case: 弹窗不消失,...
    99+
    2022-06-06
    方法 popupwindow Android
  • Android中HorizontalScrollView使用方法详解
    由于移动设备物理显示空间一般有限,不可能一次性的把所有要显示的内容都显示在屏幕上。所以各大平台一般会提供一些可滚动的视图来向用户展示数据。Android平台框架中为我们提供了诸...
    99+
    2022-06-06
    方法 horizontalscrollview Android
  • 详解Android中Service AIDL的使用
    目录前言Service基本用法——本地服务远程服务 —— AIDL服务端客户端前言 有些朋友可能是从事开发工作的时间不是特别的长,所以觉得Service相对与另外两个组件activi...
    99+
    2024-04-02
  • Android中ExpandableListView使用示例详解
    本文实例为大家分享了ExpandableListView使用示例,供大家参考,具体内容如下MainActivity:public class Expandable_test extends Activity { private Expan...
    99+
    2023-05-30
    android expandablelistview roi
  • Android中Fragment的解析和使用详解
    前言 Android Fragment的生命周期和Activity类似,实际可能会涉及到数据传递,onSaveInstanceState的状态保存,FragmentManage...
    99+
    2022-06-06
    fragment Android
  • Android Room 使用详解
    介绍 Room是Google提供的一个ORM库。Room提供了三个主要的组件: @Database:@Database用来注解类,并且注解的类必须是继承自RoomDatabase的抽象类。该类主要作用是创建数据库和创建Daos(data...
    99+
    2023-08-31
    java 数据库 Room Powered by 金山文档
  • Android Doze 使用详解
    Android Doze 是一种省电模式,它可以在设备处于静止状态时自动将应用程序置于休眠状态,从而延长设备的电池寿命。以下是 An...
    99+
    2023-09-21
    Android
  • Android AIDL 使用详解
    目录 一、概述 二、语法 一、概述 AIDL 意思即 Android Interface Definition Language,翻译过来就是Android接口定义语言,是用于定义服务器和客户端通信接口的一种描述语言,可以拿来生成用于I...
    99+
    2023-10-03
    android java android studio
  • Android ImageButton使用详解
    Android中的ImageButton是一个可点击的图像按钮控件,它继承自ImageView控件,并且可以在ImageButton...
    99+
    2023-09-14
    Android
  • Android iconify 使用详解
    android-iconify 使用详解 ,下文图文并茂给大家介绍的非常详细,具体内容详情请参考下文。1、android-iconify简介 iconify的github地址:https://github.com/JoanZapata/a...
    99+
    2023-05-30
    android iconify fy
  • Android PopUpWindow使用详解
    目录概述声明构造方法显示函数正常声明一个PopupWindow代码设置需要载入的布局创建PopupWindow设置显示位置完整代码概述 最关键的区别是AlertDialog不能指定显...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作