Android Modules.manufacturer.equals(“Amazon”)不';我不在复习
我正在开发一款可以在Nook、Kindle和Google play上运行的应用程序。我试图隐藏一些只用于Kindle设备的按钮。我使用Android Modules.manufacturer.equals(“Amazon”)不';我不在复习,android,kindle,Android,Kindle,我正在开发一款可以在Nook、Kindle和Google play上运行的应用程序。我试图隐藏一些只用于Kindle设备的按钮。我使用Modules.manufacturer.equals(“Amazon”)处理这种情况,它可以在设备中工作。但当我在kindle商店提交我的应用程序进行审查时,它却没有。每次他们拒绝应用程序,因为那个按钮重定向到谷歌游戏。这对我来说太刺激了。。任何建议 提前感谢。实际上可以为其他设备下载Amazon Appstore应用程序,而不仅仅是Kindle设备,因此解决此
Modules.manufacturer.equals(“Amazon”)
处理这种情况,它可以在设备中工作。但当我在kindle商店提交我的应用程序进行审查时,它却没有。每次他们拒绝应用程序,因为那个按钮重定向到谷歌游戏。这对我来说太刺激了。。任何建议
提前感谢。实际上可以为其他设备下载Amazon Appstore应用程序,而不仅仅是Kindle设备,因此解决此问题的唯一方法是为Amazon Appstore和Google Play提交不同的二进制文件。Amazon Appstore可在非Kindle设备上使用,这些设备在审查期间使用。因此,您不能依赖
制造商
我知道有三种可能的解决方案,尽管我自己还没有尝试过
检查安装应用程序的市场
PackageManager.getInstallerPackageName()
在谷歌Play Store安装应用程序时返回com.android.vending
,在亚马逊Appstore安装应用程序时返回com.amazon.venezia
但是,如果应用程序是侧向加载的,此函数将返回null
,因此为了完成亚马逊的审查过程,您必须默认假定您正在亚马逊平台上运行
检查应用程序的签名是否已更改
亚马逊重新注册你的应用。您可以检查应用程序的签名是否与您签名时的签名相同,然后采取相应的行动。您可以在中找到如何执行此操作的详细信息(使用PackageManager.GET_SIGNATURES
)
只需单独构建
这可能是最可靠的解决方案。谢谢!。我的主要目标是为这三个市场维护单一的构建或源。任何其他方法都可以做到这一点。我们这样做的方法是有一个根据源代码管理分支更改的配置设置,然后有一个根据该设置进行分支的代码库。还可以检测您的应用程序何时从Amazon Appstore下载。不幸的是,在亚马逊对你的应用程序进行测试时,情况并非如此,因此这没有帮助@Rich你怎么能发现呢?:)@使用PackageManager.getinstallerPackageName()
使用WaynLue。请看我的回答: