Modules.manufacturer.equals(“Amazon”)在Review中不起作用

时间:2013-07-05 08:12:01

标签: android kindle

我正在使用一个可以在Nook,Kindle和Google Play中运行的应用程序。我试图隐藏一些仅用于Kindle设备的按钮。我使用Modules.manufacturer.equals("Amazon")来表示这种情况,它适用于设备。但是,当我在kindle商店提交我的应用程序进行审核时,它并没有。每次他们拒绝该应用程序,因为该按钮重定向到谷歌播放。这对我有用..任何建议。

先谢谢。

2 个答案:

答案 0 :(得分:1)

实际上可以为其他设备下载Amazon Appstore应用程序,而不仅仅是Kindle设备,因此修复它的唯一方法是为Amazon Appstore和Google Play提交不同的二进制文件。

答案 1 :(得分:1)

亚马逊Appstore可在非Kindle设备上使用,并且在审核过程中会使用 这样的设备。因此,您不能依赖manufacturer

我知道有三种可能的解决方案,尽管我自己还没有尝试过任何一种解决方案。

检查应用安装的市场 当应用程序由Google Play商店安装时,

PackageManager.getInstallerPackageName()会返回com.android.vending,而当应用程序从Amazon Appstore安装时,会com.amazon.venezia

但是,如果应用程序是侧载的,则此函数将返回null,因此为了通过亚马逊的审核流程,您必须默认假设您在亚马逊的平台上运行。

检查应用程序的签名是否已更改

亚马逊重新签名您的应用。您可以检查您的应用程序的签名是否与签名时的签名相同,然后采取相应措施。您可以在Jakar's answer, here中找到有关如何执行此操作的详细信息(使用PackageManager.GET_SIGNATURES

只做单独的构建

这可能是最强大的解决方案。