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