Android应用程序没有出现在市场上的1.5和1.6设备,蓝牙是android:required =“false”

时间:2011-08-29 01:53:06

标签: android-manifest google-play android-market-filtering

我们的Android应用程序现在可以使用蓝牙(如果可用),但是必需的 所以我将这些行添加到清单中:

<uses-permission android:name="android.permission.BLUETOOTH" android:required="false" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:required="false"/>

问题:发布后,大多数人都可以下载该应用,但该应用不会出现在市场中:

  • Android 1.5 HTC Magic
  • Android 1.6 G1

我应该更改哪些内容,以便它在市场中出现这些设备呢?

请注意,我们允许SDK级别3,其中包括Android 1.5:

<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="11"/>

该应用程序的上一版本没有任何蓝牙支持,并且它在每个人的市场中都有显示 一个想法是Android 1.5 / 1.6不理解android:required="false",这将消除没有蓝牙的设备,但这个假设因前面提到的G1 蓝牙这一事实而无效。

根据需要提供详细信息:full manifestmanifest of previous versionMarketour internal discussion

1 个答案:

答案 0 :(得分:4)

由于安全问题,可能只是不可能:http://www.medieval.it/google-is-censoring-bluetooth-on-android-the-proof/menu-id-66.html

我的解决方案是在市场清单中发布1.5 / 1.6的第二个版本,而不是这些行:

<uses-permission android:name="android.permission.BLUETOOTH" android:required="false" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:required="false"/>

将来,您还可以通过ankidroid通知他们有关更新和下载位置(唯一的蓝牙版本)。

另一种解决方案可能是:

<manifest ...>
<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="11" />
...
</manifest>

或只是:

<manifest ...>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-sdk android:minSdkVersion="3" />
...
</manifest>

谢谢你的慷慨!

其来源是:http://developer.android.com/guide/topics/manifest/uses-feature-element.html#bt-permission-handling