zoukankan      html  css  js  c++  java
  • Android 几个Info系列类的总结

    首先我们来看一下PackageItemInfo,它是包含了一些信息的基类,它的直接子类有:ApplicationInfo、ComponentInfo、InstrumentationInfo、PermissionGroupInfo、PermissionInfo。它的间接子类有:ActivityInfo、ProviderInfo、ServiceInfo。这个类包含的信息对于所有包中项目是平等的。这些Package items是被Package manager所持有的。这个类提供了属性的非常普通的基本设置:label、icon和meta-data。这个类的意图不是被自己调用。它在这只是简单地分享被package manager返回的所有items之间的普通定义。比如,它自己并不实现Parcelable接口,但却帮助实现了Parcelable的子类提供了方便的方法。

      ApplicationInfo是从一个特定的应用得到的信息。这些信息是从相对应的Androdimanifest.xml的< application>标签中收集到的。

      ResolveInfo这个类是通过解析一个与IntentFilter相对应的intent得到的信息。它部分地对应于从AndroidManifest.xml的< intent>标签收集到的信息。

      PackageManager这个类是用来返回各种的关联了当前已装入设备了的应用的包的信息。你可以通过getPacageManager来得到这个类。

      ApplicationInfo与ResolveInfo比较:前者能够得到Icon、Label、meta-data、description。后者只能得到Icon、Label。

      下面讲一下这几个类综合在一起的具体应用:

      通过调用PackageManager的方法可以得到两种不同的信息:

      首先要得到manager:

      PackageManager manager = getPackageManager();

      方法一:

      List< ApplicationInfo> appList = manager.getInstalledApplications(PackageManager.GET.UNINSTALLED_PAKAGES);

      它是通过解析AndroidManifest.xml的< application>标签中得到的,所以它能得到所有的app。

      方法二:

      Intent intent = new Intent(Intent.A CTION_MAIN,null);

      intent.addCategory(Intent.CATEGORY_LAUNCHER);

      List< ResolveInfo> appList = manager.queryIntentActivities(intent,0);

      它是通过解析< Intent-filter>标签得到有

      < action android:name=”android.intent.action.MAIN”/>

      < action android:name=”android.intent.category.LAUNCHER”/>

      这样的app,所以得到的要比第一种方法少(前者比它多那种service、previder等app)。

    转自:http://blog.csdn.net/hmg25/article/details/6200772

  • 相关阅读:
    14.3.3.2 Configuring the Rate of InnoDB Buffer Pool Flushing 配置 InnoDB Buffer Pool 刷新频率
    14.3.3 InnoDB Buffer Pool Configuration InnoDB Buffer Pool 配置:
    Perl 中的对象
    MyCat不支持的SQL语句
    第6章 模块
    Linux_RAID
    mysql limit
    svn 备份和恢复
    农商行信息化建设过程中存在哪些问题?
    14.2.6.4 Physical Structure of an InnoDB Index InnoDB Index 物理结构
  • 原文地址:https://www.cnblogs.com/shanzei/p/2411578.html
Copyright © 2011-2022 走看看