Just like BuildConfig.FLAVOR
and BuildConfig.DEBUG
is there a build flag to check at runtime for the APK version or the Instant App version of an Android application ?
Or is there another way to get the information ?
Just like BuildConfig.FLAVOR
and BuildConfig.DEBUG
is there a build flag to check at runtime for the APK version or the Instant App version of an Android application ?
Or is there another way to get the information ?
Add to the module build.gradle
the dependency : implementation 'com.google.android.instantapps:instantapps:1.0.0'
then you will be able to use the function InstantApps.isInstantApp(this)
.
Please note that you must use Maven Google by changing your repositories in the project build.gradle
:
buildscript {
repositories {
maven {
url 'https://maven.google.com'
}
jcenter()
}
...
}
allprojects {
repositories {
maven {
url 'https://maven.google.com'
}
jcenter()
}
}
Easiest way is to use PackageManager.isInstantApp()
:
Or, a regular (non-appcompat version) https://developer.android.com/reference/android/content/pm/PackageManager#isInstantApp()
Also has an override which accepts package name as a string, which allows to check other apps, if permissions allow.
Yes, You can determine whether the current app is Installed App or Instant app.First of all add the dependency in your feature module build.gradle
api "com.google.android.instantapps:instantapps:1.0.0"
Match you project level build.gradle with this
buildscript {
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}...
}
allprojects {
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
}
Finally at runtime you may write
if (InstantApps.isInstantApp(this)) {
// Do something like, show install button
} else {
// Do something like, hide install button
}