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