如何使用区分安装的应用程序是否来自我

时间:2016-08-12 18:50:21

标签: android

我有一个appstore,我想和谷歌游戏商店和亚马逊商店一样,在调用getInstallerPackageName()时具有独特的价值。从亚马逊安装的应用程序返回com.amazon.venezia,从谷歌播放安装的应用程序将返回com.android.vending

我可以做同样的事吗?因此,当从我的appstore下载并安装的应用程序调用{​​{1}}时会返回getInstallerPackageName()

另外,我知道如果应用程序是侧载的,调用com.myapp.vending将返回null,但可能存在可以从其他第三方源而不是从我的应用程序下载和安装应用程序的情况。安装此应用程序的两种方式都会在调用getInstallerPackageName()时返回null。

2 个答案:

答案 0 :(得分:2)

要设置安装程序包名称,首先需要使用Intent安装应用程序,因为它似乎已经找到了。安装成功后,您可以使用适当的参数调用setInstallerPackageName()

来源:

Install Application programmatically on Android

PackageManager.setInstallerPackageName()

答案 1 :(得分:-1)

我会使用Android Studio风格。在gradle中:

android {
    ...
    productFlavors {
        flavor1 {
            applicationId "com.example.flavor1"
        }

        flavor2 {
            applicationId "com.example.flavor2"
        }
    }
}

在编译每种风味时,您将得到不同的apks。