19

我有几个关于 ApplicationInfo 和 PackageInfo 类的一般问题。他们来了:

  1. 有人可以描述 ApplicationInfo 和 PackageInfo 之间的区别吗?
  2. 它们如何相互关联?
  3. 在哪些情况下使用 ApplicationInfo 以及何时使用 PackageInfo?

感谢您的帮助!

编辑:

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

  1. PackageInfo 可以具有值为 NULL 的 ApplicationInfo 对象。什么时候可以?(我猜这与卸载的软件包有关)
  2. ApplicationInfo 包含应用程序的 uid。PackageInfo 是否可能没有 uid(当 ApplicationInfo 为空时?)。

所以这类问题。我不明白这些联系。

4

2 回答 2

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

    PackageInfo代表了整个AndroidManifest.xml。ApplicationInfo实际上是PackageInfo的一个字段/属性,仅指应用标签。参考这个

  2. 它们如何相互关联?

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

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

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

于 2012-07-10T09:02:52.510 回答
3

PackageInfo 包含 ApplicationInfo ( PackageInfo.applicationInfo)。

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

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

于 2012-07-10T08:50:10.800 回答