欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中PackageManager使用詳解

 更新時間:2021年11月23日 11:23:47   作者:zhangze  
PackageManger的主要職責(zé)是管理應(yīng)用程序包,通過它可以獲取應(yīng)用程序信息,這篇文章主要給大家介紹了關(guān)于Android中PackageManager使用的相關(guān)資料,需要的朋友可以參考下

前言

Android系統(tǒng)為我們提供了很多服務(wù)管理類,包括ActivityManager、PowerManager(電源管理)、AudioManager(音頻管理)。PackageManager主要是管理應(yīng)用程序包,通過它就可以獲取應(yīng)用程序信息。

寫了一個Demo,主要實現(xiàn)了獲取系統(tǒng)中所有應(yīng)用程序信息,并構(gòu)建Intent,啟動對應(yīng)的應(yīng)用。

AndroidPackageDemo.7z

引入:AndroidManifest.xml文件節(jié)點說明:

相關(guān)類的介紹

PackageManger 類

說明: 獲得已安裝的應(yīng)用程序信息 。可以通過getPackageManager()方法獲得。 常用方法: public abstract PackageManager getPackageManager()  
功能:獲得一個PackageManger對象  public abstract Drawable getApplicationIcon(String packageName)
參數(shù): packageName 包名
功能:返回給定包名的圖標(biāo),否則返回null
 
public abstract ApplicationInfo   getApplicationInfo(String packageName, int flags)
參數(shù):  packagename 包名
  flags 該ApplicationInfo是此flags標(biāo)記,通??梢灾苯淤x予常數(shù)0即可
功能:返回該ApplicationInfo對象
public abstract List<ApplicationInfo>  getInstalledApplications(int flags)
參數(shù):  flag為一般為GET_UNINSTALLED_PACKAGES,那么此時會返回所有ApplicationInfo。我們可以對ApplicationInfo
  的flags過濾,得到我們需要的。
功能:返回給定條件的所有PackageInfo
public abstract List<PackageInfo>  getInstalledPackages(int flags) 
參數(shù)如上
功能:返回給定條件的所有PackageInfo
public abstractResolveInfo  resolveActivity(Intent intent, int flags)
參數(shù):    intent 查尋條件,Activity所配置的action和category
  flags: MATCH_DEFAULT_ONLY    :Category必須帶有CATEGORY_DEFAULT的Activity,才匹配
  GET_INTENT_FILTERS         :匹配Intent條件即可
  GET_RESOLVED_FILTER    :匹配Intent條件即可
功能 :返回給定條件的ResolveInfo對象(本質(zhì)上是Activity)
 public abstract  List<ResolveInfo>  queryIntentActivities(Intent intent, int flags)
參數(shù)同上
功能 :返回給定條件的所有ResolveInfo對象(本質(zhì)上是Activity),集合對象
 public abstract ResolveInfo  resolveService(Intent intent, int flags)
參數(shù)同上
功能 :返回給定條件的ResolveInfo對象(本質(zhì)上是Service)
 public abstract List<ResolveInfo> queryIntentServices(Intent intent, int flags)
參數(shù)同上
功能 :返回給定條件的所有ResolveInfo對象(本質(zhì)上是Service),集合對象

PackageInfo類  

說明:手動獲取AndroidManifest.xml文件的信息 。

常用字段:

public String? ? packageName? ? ? ? ? ? ? ? ? ?包名

public ActivityInfo[]? ? ?activities? ? ? ? ? ? ? ? ? ?所有<activity>節(jié)點信息

public ApplicationInfo applicationInfo? ? ? ?<application>節(jié)點信息,只有一個

public ActivityInfo[]? ? receivers? ? ? ? ? ? ? ? ? 所有<receiver>節(jié)點信息,多個

public ServiceInfo[]? ? services? ? ? ? ? ? ? ? ? 所有<service>節(jié)點信息 ,多個

PackageItemInfo類

說明: AndroidManifest.xml文件中所有節(jié)點的基類,提供了這些節(jié)點的基本信息:label、icon、 meta-data。它并不

直接使用,而是由子類繼承然后調(diào)用相應(yīng)方法。

ApplicationInfo類 繼承自? PackageItemInfo

說明:獲取一個特定引用程序中<application>節(jié)點的信息。

字段說明:flags字段: FLAG_SYSTEM 系統(tǒng)應(yīng)用程序、FLAG_EXTERNAL_STORAGE 表示該應(yīng)用安裝在sdcard中

常用方法繼承至PackageItemInfo類中的loadIcon()和loadLabel()

ActivityInfo類? 繼承自 PackageItemInfo

說明: 獲得應(yīng)用程序中<activity/>或者 <receiver />節(jié)點的信息 。我們可以通過它來獲取我們設(shè)置的任何屬性,包括

theme 、launchMode、launchmode等

常用方法繼承至PackageItemInfo類中的loadIcon()和loadLabel()

ServiceInfo 類

說明: 同ActivityInfo類似 ,同樣繼承自 PackageItemInfo,只不過它表示的是<service>節(jié)點信息。

ResolveInfo類

說明:根據(jù)<intent>節(jié)點來獲取其上一層目錄的信息,通常是<activity>、<receiver>、<service>節(jié)點信息。

參考:http://www.linuxidc.com/Linux/2012-02/53072.htm

總結(jié)

到此這篇關(guān)于Android中PackageManager使用詳解的文章就介紹到這了,更多相關(guān)Android PackageManager使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論