ApplicationInfo和PackageInfo之间的区别?

时间:2012-07-10 08:46:12

标签: android android-package-managers

我有几个关于ApplicationInfo和PackageInfo类的一般问题。他们在这里:

  1. 有人可以描述ApplicationInfo和之间的区别 PackageInfo?
  2. 他们如何相互关联?
  3. 在哪种情况下使用ApplicationInfo以及何时使用PackageInfo?
  4. 感谢您的帮助!

    修改

    首先,在发布这样的问题之前,我已阅读官方文档并用Google搜索。以下是一些我不清楚的其他问题。对不起,也许我没有恰当地问他们:

    1. PackageInfo可以具有NULL值的ApplicationInfo对象。当它 有可能吗? (我想这与卸载有关 包))
    2. ApplicationInfo包含应用程序的uid。有可能吗? PackageInfo没有uid(当ApplicationInfo为null时?)。
    3. 所以这些问题。我不明白这些联系。

2 个答案:

答案 0 :(得分:30)

  1. 有人可以描述ApplicationInfo和之间的区别 PackageInfo吗

    PackageInfo代表整个AndroidManifest.xml.ApplicationInfo实际上是PackageInfo的字段/属性,仅引用应用程序标记。请参阅this

  2. 他们如何相互关联?

    正如我所提到的,ApplicationInfo实际上是PackageInfo的一个属性/字段,它本身恰好是一个复杂的对象,并且有自己的方法/字段。

  3. 在哪种情况下使用ApplicationInfo以及何时使用PackageInfo?

    要访问应用程序标签内可能与服务或活动或广播接收器相关的信息,我们使用ApplicationInfo.Data可以通过PackageInfo类中的其他字段/方法获取与AndroidManifest.xml其余部分相关的数据

答案 1 :(得分:3)

PackageInfo包含ApplicationInfo(PackageInfo.applicationInfo)。

包信息是清单文件中的所有信息,ApplicaitonInfo是清单中<application>标记的信息。

什么时候使用?这取决于您要查找的信息或您正在使用的API方法。