Our Android app can now use Bluetooth if available, but it is not required.
So I added these lines to the manifest:
<uses-permission android:name="android.permission.BLUETOOTH" android:required="false" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:required="false"/>
PROBLEM: After publication, most people can download the app, but the app does not show up in the Market for:
- Android 1.5 HTC Magic
- Android 1.6 G1
What should I change so that it appears in the Market with those devices too?
Please note that we allow SDK level 3, which includes Android 1.5:
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="11"/>
The previous version of the app did not have any Bluetooth support, and it was showing in everybody's Market.
An idea was that Android 1.5/1.6 does not understand android:required="false"
, which would eliminate devices with no Bluetooth, but this hypothesis is invalidated by the fact that the previously mentioned G1 has Bluetooth.
Details if needed: full manifest, manifest of previous version, Market, our internal discussion.
Maybe it's just impossible, because of security concerns: http://www.medieval.it/google-is-censoring-bluetooth-on-android-the-proof/menu-id-66.html
My solution would be to release a second version for 1.5/1.6 without these lines in the manifest for the market:
<uses-permission android:name="android.permission.BLUETOOTH" android:required="false" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:required="false"/>
In the future, you could also inform them about an update and the download location (of the one and only bluetooth-build) from within ankidroid.
Another solution could be:
<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>
or just:
<manifest ...>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-sdk android:minSdkVersion="3" />
...
</manifest>
Thanks for you generosity!
Source for that is: http://developer.android.com/guide/topics/manifest/uses-feature-element.html#bt-permission-handling