I see. Thanks for the explanation!

So if I don't declare it, based on the table, it will assume I uses
features:

android.hardware.camera and
android.hardware.camera.autofocus

So in order for me to show the app in Android Market that does not
support camera (like low end camera-less tablets), I will need:

<uses-feature android:name="android.hardware.camera"
android:required="false" />

I am not too sure whether I need to declare or not? Since autofocus is
often unnecessary for many apps.

<uses-feature android:name="android.hardware.camera.autofocus"
android:required="false" />

On 11月26日, 下午8时45分, Mark Murphy <[email protected]> wrote:

> 1) delivers the same results as 3) due to a side-effect of requiring
> that permission.
>
> http://developer.android.com/guide/topics/manifest/uses-feature-eleme...
>
> "Some feature constants listed in the tables above were made available
> to applications after the corresponding API; for example, the
> android.hardware.bluetooth feature was added in Android 2.2 (API level
> 8), but the bluetooth API that it refers to was added in Android 2.0
> (API level 5). Because of this, some apps were able to use the API
> before they had the ability to declare that they require the API via
> the <uses-feature> system.
>
> "To prevent those apps from being made available unintentionally,
> Android Market assumes that certain hardware-related permissions
> indicate that the underlying hardware features are required by
> default. For instance, applications that use Bluetooth must request
> the BLUETOOTH permission in a <uses-permission> element — for legacy
> apps, Android Market assumes that the permission declaration means
> that the underlying android.hardware.bluetooth feature is required by
> the application and sets up filtering based on that feature."
>
> --
> Mark Murphy (a Commons 
> Guy)http://commonsware.com|http://github.com/commonsguyhttp://commonsware.com/blog|http://twitter.com/commonsguy
>
> Android App Developer Books:http://commonsware.com/books

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to