我正在使用一个可以在Nook,Kindle和Google Play中运行的应用程序。我试图隐藏一些仅用于Kindle设备的按钮。我使用Modules.manufacturer.equals("Amazon")
来表示这种情况,它适用于设备。但是,当我在kindle商店提交我的应用程序进行审核时,它并没有。每次他们拒绝该应用程序,因为该按钮重定向到谷歌播放。这对我有用..任何建议。
先谢谢。
答案 0 :(得分:1)
实际上可以为其他设备下载Amazon Appstore应用程序,而不仅仅是Kindle设备,因此修复它的唯一方法是为Amazon Appstore和Google Play提交不同的二进制文件。
答案 1 :(得分:1)
亚马逊Appstore可在非Kindle设备上使用,并且在审核过程中会使用 这样的设备。因此,您不能依赖manufacturer
。
我知道有三种可能的解决方案,尽管我自己还没有尝试过任何一种解决方案。
PackageManager.getInstallerPackageName()
会返回com.android.vending
,而当应用程序从Amazon Appstore安装时,会com.amazon.venezia
。
但是,如果应用程序是侧载的,则此函数将返回null
,因此为了通过亚马逊的审核流程,您必须默认假设您在亚马逊的平台上运行。
亚马逊重新签名您的应用。您可以检查您的应用程序的签名是否与签名时的签名相同,然后采取相应措施。您可以在Jakar's answer, here中找到有关如何执行此操作的详细信息(使用PackageManager.GET_SIGNATURES
。
这可能是最强大的解决方案。