Happen to see this old post, I have a similar question along this line. 

If my app do NOT need camera permission, and I am just throwing intent to 
let the camera app to capture a picture and return to my app, then 
theoretically I don't need to declare any <use-permission> or <use-feature> 
in my manifest. But, if I do declare a <use-feature 
android:name="android.hardware.camera" android:required="false"/>, that 
seems to be identical to not declaring it at all, is this correct?

On Saturday, November 26, 2011 at 9:12:51 AM UTC-5, limtc wrote:
>
> 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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-developers/f15e2f2d-cba1-4f1b-9e73-32ab9c0624aa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to