<uses-permission> and filtering on Android Market.
In some cases, the permissions that you request through
<uses-permission> can affect how your application is filtered by Android Market.
If you request a hardware-related permission —
CAMERA, for example — Android Market assumes that your application requires the underlying hardware feature and filters the application from devices that do not offer it.
To control filtering, always explicitly declare hardware features in
<uses-feature> elements, rather than relying on Android Market to "discover" the requirements in
<uses-permission> elements. Then, if you want to disable filtering for a particular feature, you can add a
android:required="false" attribute to the
For a list of permissions that imply hardware features, see the documentation for the
<uses-permission android:name="string" />
For more information on permissions, see the Permissions section in the introduction and the separate Security and Permissions document. A list of permissions defined by the base platform can be found at
<permission>element, a permission defined by another application, or one of the standard system permissions, such as "
android.permission.CAMERA" or "
android.permission.READ_CONTACTS". As these examples show, a permission name typically includes the package name as a prefix.