I have several general question about ApplicationInfo and PackageInfo classes. Here they are:
Can someone describe the difference between ApplicationInfo and PackageInfo?
PackageInfo represents the entire AndroidManifest.xml.ApplicationInfo is actually a field/attribute of PackageInfo,refering only to the application tag. Refer this.
How do they correlate with each other?
As I mentioned ApplicationInfo is actually an attribute/field of PackageInfo which itself happens to be a complex object and has its own methods/fields.
In which cases ApplicationInfo is used and when PackageInfo is used?
To access information within application tag which could be related to services or actvities or broadcast receivers we use ApplicationInfo.Data related to the rest of the AndroidManifest.xml can be obtained via the other fields/methods in PackageInfo class
PackageInfo contains ApplicationInfo (PackageInfo.applicationInfo
).
Package info is all your info from your manifest file, ApplicaitonInfo is the info from the <application>
tag in your manifest.
When they are used? it depends on which info you a looking for , or which API methods you are using.