【发布时间】:2014-06-09 09:20:01
【问题描述】:
是否可以从Android 应用程序中获取安装源?
我的意思是,我想看看应用程序是从Play Store、Amazon Appstore 安装的还是通过执行 APK 安装的。
PS:我想在我的应用程序崩溃并且能够发送错误报告时看到它,我的应用程序是通过Play Store 安装的。我如何获得这个值?
【问题讨论】:
标签: android apk google-play amazon-appstore
是否可以从Android 应用程序中获取安装源?
我的意思是,我想看看应用程序是从Play Store、Amazon Appstore 安装的还是通过执行 APK 安装的。
PS:我想在我的应用程序崩溃并且能够发送错误报告时看到它,我的应用程序是通过Play Store 安装的。我如何获得这个值?
【问题讨论】:
标签: android apk google-play amazon-appstore
PackageManager 类提供getInstallerPackageName 方法,该方法将告诉您安装您指定的包的任何包的名称。侧载应用不会包含值。
亚马逊商店的最新版本最终将 PackageManager.getInstallerPackageName() 设置为“com.amazon.venezia”,并与 Google Play 的“com.android.vending”形成对比。
来源:How to know an application is installed from google play or side-load? 示例:getInstallerPackageName returns null
【讨论】:
这存储了安装应用程序的包名。
【讨论】:
目前(16/01/2022)代码:
val s = applicationContext.getPackageManager().getInstallerPackageName(applicationContext.getPackageName())
在 GooglePlay 中适用于 Android 11,并获得“com.android.vending”。
【讨论】: