如何知道一个应用程序从谷歌Play安装或侧向载荷?如何知道一个应用程序从谷歌Play安装或侧向载荷?

2019-05-16 16:16发布

我需要检测我的应用程序从谷歌播放或其他市场安装,我怎么能得到这个信息?

Answer 1:

PackageManager类提供的getInstallerPackageName方法,将告诉你的任何安装指定的软件包的名称。 侧加载的应用程序不包含一个值。

编辑 :注意@mttmllns' 回答以下关于亚马逊的应用程序商店。



Answer 2:

和FYI 显然亚马逊商店的最新版本终于将PackageManager.getInstallerPackageName()"com.amazon.venezia" ,以及与谷歌Play的对比"com.android.vending"



Answer 3:

我用这个代码来检查,如果构建了从商店下载或侧载:

public static boolean isStoreVersion(Context context) {
    boolean result = false;

    try {
        String installer = context.getPackageManager()
                                    .getInstallerPackageName(context.getPackageName());
        result = !TextUtils.isEmpty(installer);
    } catch (Throwable e) {          
    }

    return result;
}


文章来源: How to know an application is installed from google play or side-load?