是否有Android构建标志来检查APK与应用程序的即时应用程序版本

时间:2017-06-01 13:55:39

标签: android android-instant-apps

就像BuildConfig.FLAVORBuildConfig.DEBUG有一个构建标志,可以在运行时检查APK版本或Android应用程序的Instant App版本吗?

还是有另一种获取信息的方法吗?

3 个答案:

答案 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()
    }
}

Android Instant Apps API reference

答案 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://developers.google.com/android/reference/com/google/android/gms/instantapps/PackageManagerCompat.html#isInstantApp()

或者,常规(非应用兼容版本)https://developer.android.com/reference/android/content/pm/PackageManager#isInstantApp()

还有一个覆盖,它接受包名称作为字符串,如果权限允许,它可以检查其他应用。