5

是否可以从Android应用程序获取安装源?

我的意思是,我想看看应用程序是从 安装的Play StoreAmazon Appstore还是通过执行 APK 安装的。

PS:我想在我的应用程序崩溃并且能够发送错误报告时看到它,我的应用程序是通过Play Store. 我如何获得这个值?

4

3 回答 3

12

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

亚马逊商店的最新版本最终com.amazon.venezia也将 PackageManager.getInstallerPackageName() 设置为 " " 以与 Google Play 的 " com.android.vending" 形成对比。

资料来源:如何知道应用程序是从 google play 还是 side-load 安装的?例如:getInstallerPackageName 返回 null

于 2014-04-24T07:55:44.157 回答
2

使用getInstallerPackageName

这存储了安装应用程序的 packageName。

  • 谷歌播放:“com.android.vending”
  • 亚马逊应用商店:“com.amazon.venezia”
于 2014-04-24T07:55:25.903 回答
1

目前(16/01/2022)代码:

val s = applicationContext.getPackageManager().getInstallerPackageName(applicationContext.getPackageName())

适用于 GooglePlay 中的 Android 11,并获得“com.android.vending”。

于 2022-01-16T16:48:55.753 回答