我需要检测我的应用程序是从谷歌播放还是其他市场安装,我怎么能得到这些信息?如何知道一个应用程序是从谷歌播放或侧装?
回答
PackageManager
类提供了getInstallerPackageName方法,该方法会告诉您安装您指定的软件包的软件包名称。侧装应用程序不会包含值。
编辑:注意@mttmllns'answer below关于亚马逊应用商店。
而FYI apparently亚马逊商店的最新版本最终设置PackageManager.getInstallerPackageName()
到"com.amazon.venezia"
以及与Google Play的"com.android.vending"
对比。
无法对类型为PackageManager的非静态方法getInstallerPackageName(String)进行静态引用。 –
每个appstore在Playstore上都有自己的marketapp,然后安装它们的apks(包)。包管理器getInstaller ...()返回安装给定apk的marketapp的包名称。例如。 com.amazon.venezia是amazon marketapp的软件包名称。非常聪明,因为PlayStore可以控制哪些市场应用程序是可信的。这旨在最终防止所有不可信的sideloads。注意到新的android操作系统版本的采用正在急剧下降。 KitKat可能成为事实标准。 –
我用这个代码来检查,如果构建是从商店下载或侧载:
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;
}
- 1. 从谷歌应用程序ID播放
- 2. 从谷歌播放获取Android应用程序的第一个安装日期
- 3. 如何从谷歌创建动态应用程序播放
- 4. 谷歌播放的应用程序
- 5. 如何检查应用程序是否从谷歌播放帐户安卓android
- 6. Programmaticaly从谷歌播放安装应用程序并得到回应
- 7. 如何在谷歌添加应用程序播放私人频道
- 8. 如何更新谷歌播放应用程序
- 9. 如何在没有谷歌播放的应用程序购买?
- 10. 如何解决“设备在这个应用程序中不兼容”?当应用程序安装谷歌播放
- 11. 如何安装谷歌播放服务?
- 12. 谷歌地图发布应用程序谷歌地图V2谷歌播放
- 13. 无法从谷歌播放应用程序
- 14. 从谷歌下载后,应用程序无法工作播放
- 15. 从谷歌播放商店获取应用程序的截图
- 16. 如何以编程方式从谷歌播放下载Android应用程序?
- 17. Android的YouTube播放器应用程序,谷歌播放拒绝后台播放
- 18. 当从谷歌安装应用程序播放获取错误代码-505
- 19. 如何更新不在谷歌播放的应用程序,我店或windows店
- 20. android:跟踪从谷歌播放安装
- 21. 评分按钮:可以知道用户是否在谷歌播放中投票了您的应用程序?
- 22. 如何获得应用程序图标从谷歌播放动态
- 23. 谷歌如何知道我?
- 24. 在应用程序结算和上传一个应用程序在谷歌播放整个过程?
- 25. 如何从iPod应用程序中的iPod库播放歌曲?
- 26. 通知声音如何从应用程序资源中播放?
- 27. 应用程序如何知道组件是一个页面
- 28. 如何从谷歌片addMarker到谷歌应用程序脚本
- 29. 如何知道谷歌apis是否安装在手机上?
- 30. 创建一个谷歌播放应用程序下载的直接链接
它非常好。 – ttom
@AbhishekB你的Android版本是什么?你在模拟器中吗? – MattC
@AbhishekB我不知道一种方法来找到侧装应用程序的起源。我不确定这是如何被跟踪的,因为它只是一个APK文件,它被加载到设备的某个地方,然后可能通过PackageManager进行安装。 – MattC