是否可以在运行时可靠地检测哪个商店安装了Android应用程序(Google Play或Amazon Market)?

阿尔菲·汉森

有许多类似的Stackoverflow问题。

所有答案都有建议使用类getInstallerPackageName上的方法的答案PackageManager

所有人都有评论或矛盾的回答,说这不是一种可靠的方法,这表明可靠地检查给定应用安装了哪个商店的唯一方法是生成两个单独的二进制文件,每个都有一storeFlag组,然后将一个二进制文件上传到Amazon到Google Play。

我需要知道哪个商店是该应用程序的安装程序,以便知道与哪个商店进行通信以实现应用程序内购买功能。

生成两个单独的二进制文件的权威性100%可靠方法是吗?还是有一种100%可靠的基于代码的运行时方法?

非哺乳动物

两个二进制文件将是最可靠的方法,但是同时检查Build.MANUFACTURER和installerName应该可以使您非常接近(尽管假设您要检查Amazon AppStore,如果用户已在非Kindle上安装了旧版本的安装程序,设备且未更新,installerName可能报告为空)

boolean isAmazonDevice = Build.MANUFACTURER.equalsIgnoreCase("amazon");

final Application application = getApplication();
String installerName = application.getPackageManager().getInstallerPackageName(application.getPackageName());
boolean fromAmazonStore = installerName != null && installerName.equalsIgnoreCase("com.amazon.venezia");

然后检查以下值:

isAmazonDevice || fromAmazonStore

应该会在相当长的时间内为您提供所需的东西。

一种可能使事情变得混乱的方案是,如果您正在侧向加载apk进行测试-在这种情况下,它将没有正确的InstallerPackageName。您可以使用以下方法通过侧面加载apk来伪造:

adb install -i com.amazon.venezia APK_NAME

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以在运行时可靠地检测哪个商店安装了Android应用程序(Google Play或Amazon Market)?

来自分类Dev

Android / Google Play-应用程序可以在运行时进行更新吗

来自分类Dev

Android Play商店market://链接不再有效?

来自分类Dev

检测是否从Play商店安装了应用

来自分类Dev

在Android Market(Google Play)上使用应用名称搜索时,应用不显示

来自分类Dev

Android:我可以在Android Market上发布使用AmazonSDK应用内付款的应用程序,还是必须使用Amazon的App Store?

来自分类Dev

Android:我可以在Android Market上发布使用AmazonSDK应用内付款的应用程序,还是必须使用Amazon的App Store?

来自分类Dev

Google maps v2 doesn't showing after publishing in play market

来自分类Dev

Android LVL-NOT_MARKET_MANAGED

来自分类Dev

Android LVL-NOT_MARKET_MANAGED

来自分类Dev

无法访问Google Play服务Amazon

来自分类Dev

部署前测试Market Place应用

来自分类Dev

仅安装了VC ++ 2013可再发行组件,使用VC ++ 2010构建的应用程序是否可以可靠地运行?

来自分类Dev

检测是否从AppStore / Play商店的Production Track或Beta Track安装了移动应用

来自分类Dev

是否可以将基于Google-Apps-Script的应用程序商业部署在Apps Market中?

来自分类Dev

是否可以将基于Google-Apps-Script的应用程序商业部署在Apps Market中?

来自分类Dev

错误:将应用程序提交到Firefox Market Place

来自分类Dev

Beta版应用程序中的Market not Managed错误(3)

来自分类Dev

从Play商店安装的应用程序冻结

来自分类Dev

从Play商店安装的应用程序冻结

来自分类Dev

Android Studio创建的应用程序可以提交给Google Play商店吗?

来自分类Dev

Android Studio创建的应用程序可以提交给Google Play商店吗?

来自分类Dev

Amazon SES凭证格式-将Scala应用程序(Play框架)从Sendgrid迁移到SES

来自分类Dev

如何从我的应用程序打开Google Play商店应用程序以安装Play商店中可用的最新版本的应用程序

来自分类Dev

如何在RAD 9中安装Eclipse Market Place

来自分类Dev

是否可以使Android TV应用程序在Amazon Fire TV上运行?

来自分类Dev

Android 5 Lollipop中的Bazaar(伊朗Android Market)inAppBilling错误

来自分类Dev

在不使用Google Play商店的情况下在Android设备上安装Sencha Touch 2应用程序

来自分类Dev

在Amazon AWS上启动Spring Boot应用程序,如何设置目标运行时

Related 相关文章

  1. 1

    是否可以在运行时可靠地检测哪个商店安装了Android应用程序(Google Play或Amazon Market)?

  2. 2

    Android / Google Play-应用程序可以在运行时进行更新吗

  3. 3

    Android Play商店market://链接不再有效?

  4. 4

    检测是否从Play商店安装了应用

  5. 5

    在Android Market(Google Play)上使用应用名称搜索时,应用不显示

  6. 6

    Android:我可以在Android Market上发布使用AmazonSDK应用内付款的应用程序,还是必须使用Amazon的App Store?

  7. 7

    Android:我可以在Android Market上发布使用AmazonSDK应用内付款的应用程序,还是必须使用Amazon的App Store?

  8. 8

    Google maps v2 doesn't showing after publishing in play market

  9. 9

    Android LVL-NOT_MARKET_MANAGED

  10. 10

    Android LVL-NOT_MARKET_MANAGED

  11. 11

    无法访问Google Play服务Amazon

  12. 12

    部署前测试Market Place应用

  13. 13

    仅安装了VC ++ 2013可再发行组件,使用VC ++ 2010构建的应用程序是否可以可靠地运行?

  14. 14

    检测是否从AppStore / Play商店的Production Track或Beta Track安装了移动应用

  15. 15

    是否可以将基于Google-Apps-Script的应用程序商业部署在Apps Market中?

  16. 16

    是否可以将基于Google-Apps-Script的应用程序商业部署在Apps Market中?

  17. 17

    错误:将应用程序提交到Firefox Market Place

  18. 18

    Beta版应用程序中的Market not Managed错误(3)

  19. 19

    从Play商店安装的应用程序冻结

  20. 20

    从Play商店安装的应用程序冻结

  21. 21

    Android Studio创建的应用程序可以提交给Google Play商店吗?

  22. 22

    Android Studio创建的应用程序可以提交给Google Play商店吗?

  23. 23

    Amazon SES凭证格式-将Scala应用程序(Play框架)从Sendgrid迁移到SES

  24. 24

    如何从我的应用程序打开Google Play商店应用程序以安装Play商店中可用的最新版本的应用程序

  25. 25

    如何在RAD 9中安装Eclipse Market Place

  26. 26

    是否可以使Android TV应用程序在Amazon Fire TV上运行?

  27. 27

    Android 5 Lollipop中的Bazaar(伊朗Android Market)inAppBilling错误

  28. 28

    在不使用Google Play商店的情况下在Android设备上安装Sencha Touch 2应用程序

  29. 29

    在Amazon AWS上启动Spring Boot应用程序,如何设置目标运行时

热门标签

归档