ApplicationInfo
ApplicationInfo is a class that contains information about a particular Android application. The information is collected from the application's AndroidManifest.xml's <application> tag.
Basic Usages​
Getting ApplicationInfo​
The first thing you might want to do is retrieve the ApplicationInfo instance.
Getting Own ApplicationInfo​
You can retrieve your app's ApplicationInfo instance by using getApplicationInfo() method and pass your own package name as parameter:
import android.content.Context
import android.util.Log
try {
val applicationInfo = context.packageManager.getApplicationInfo(
context.packageName,
0,
)
} catch (e: Exception) {
Log.e("TAG", e.message, e)
}
Getting Other Application's ApplicationInfo​
You can retrieve other app's ApplicationInfo instance by using the same method, but you need to add the package name into your AndroidManifest.xml's <queries> tag:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application>
</application>
<queries>
<package android:name="com.hanmajid.myotherapp" />
</queries>
</manifest>
Then, you can retrieve the app's ApplicationInfo like this:
import android.content.Context
import android.util.Log
try {
val applicationInfo = context.packageManager.getApplicationInfo(
"com.hanmajid.myotherapp",
0,
)
} catch (e: Exception) {
Log.e("TAG", e.message, e)
}
Properties​
Application Category​
Application category is a value that can be set in the application's AndroidManifest.xml's attribute. We can retrieve this value in ApplicationInfo by using category property.
val appCategory = applicationInfo.category
Storage UUID​
We can retrieve the UUID of the storage volume on which the application is being hosted by using storageUuid property.
val storageUuid = applicationInfo.storageUuid