I've coded my app so that it has some features which it prefers, but otherwise does not need as I want my app to be available to all devices. In my manifest I've set:
<uses-feature android:name="android.hardware.screen.PORTRAIT" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.LOCATION" android:required="false" />
<uses-feature android:name="android.hardware.location.GPS" android:required="false" />
<uses-feature android:name="android.hardware.MICROPHONE" android:required="false" />
When I upload my apk file, Google Play still insists that the Portrait, location, GPS and microphone features are required. The telephony one is no longer needed. Any thoughts on what is going on?
On reflection the answer was obvious, as telephony is in lower-case. For some reason this requires lower case even though upper case works in my uses-permission declarations. Here's the code which worked:
<uses-feature android:name="android.hardware.screen.portrait" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-feature android:name="android.hardware.microphone" android:required="false" />
Hope this is helpful to someone else!