就像BuildConfig.FLAVOR
和BuildConfig.DEBUG
有一个构建标志,可以在运行时检查APK版本或Android应用程序的Instant App版本吗?
还是有另一种获取信息的方法吗?
答案 0 :(得分:4)
将依赖项build.gradle
添加到模块implementation 'com.google.android.instantapps:instantapps:1.0.0'
,然后您就可以使用函数InstantApps.isInstantApp(this)
。
请注意,您必须通过更改项目build.gradle
中的存储库来使用Maven Google:
buildscript {
repositories {
maven {
url 'https://maven.google.com'
}
jcenter()
}
...
}
allprojects {
repositories {
maven {
url 'https://maven.google.com'
}
jcenter()
}
}
答案 1 :(得分:0)
是的,您可以确定当前应用是安装应用还是即时应用。首先在功能模块build.gradle中添加依赖关系
api "com.google.android.instantapps:instantapps:1.0.0"
将项目级build.gradle与此
匹配buildscript {
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}...
}
allprojects {
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
}
最后在运行时你可以写
if (InstantApps.isInstantApp(this)) {
// Do something like, show install button
} else {
// Do something like, hide install button
}
答案 2 :(得分:0)
最简单的方法是使用PackageManager.isInstantApp()
:
或者,常规(非应用兼容版本)https://developer.android.com/reference/android/content/pm/PackageManager#isInstantApp()
还有一个覆盖,它接受包名称作为字符串,如果权限允许,它可以检查其他应用。