我在亚马逊应用商店上有一个应用程序,最近我注意到使用Kindle Fire HD的用户没有在他们的商店看到它。它适用于第一代Kindle Fire,所以我认为这是App Store的某种过滤。我猜我的清单中的某些东西标志着它与Fire HD不兼容,但我不知道那可能是什么。以下是我的清单中的所有相关硬件配置信息:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-feature android:name="android.hardware.touchscreen" >
</uses-feature>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
有人可以看到任何可能让亚马逊认为它与Fire HD不兼容的问题吗?
答案 0 :(得分:2)
根据此Kindle Fire guide,您不应使用READ_PHONE_STATE权限。也许你的应用程序在他们开始执行此检查之前就已进入,但他们现在将它应用于新设备?
但如果我是你,我contact them,看看你是否可以直接得到原因。
答案 1 :(得分:2)
您的清单中的一些权限implicitly add specific <uses-feature>
条目。虽然Google文档中未列出READ_PHONE_STATE
,但MODIFY_PHONE_STATE
被列为隐式触发android.hardware.telephony
功能的权限之一,因此如果READ_PHONE_STATE
我不会感到惊讶也是这样。我认为这就是为什么你的应用程序被过滤为Kindle Fire HD的原因。 (并且它也应该针对Kindle Fire进行过滤,但我认为它过去不是,并且由于遗留原因他们不想更改它。)
您可以尝试使用已删除的权限重新提交,或添加显式行以将电话功能标记为可选:
<uses-feature android:name="android.hardware.telephony" android:required="false" />