У меня есть приложение для пользовательских камер, и мне нужно включить вспышку (режим факела)/off.
Какое разрешение мне нужно в этом случае?
1.Only
<uses-feature android:name="android.hardware.camera"/>
<uses-permission android:name="android.permission.CAMERA"/>
2. Те от 1 плюс:
<permission android:name="android.permission.FLASHLIGHT"
android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
android:protectionLevel="normal"/>
Я думаю, что это используется, когда вы хотите использовать Flash, но без камеры (например, в этом случае: Android - с использованием камеры Flash)
3.Это от 1 плюс:
<uses-permission android:name="android.hardware.camera.flash"/>
EDITED (благодаря @maclir):
Неправильная строка выше. Правильный:
<uses-permission android:name="android.permission.CAMERA"/>
developer.android.com: "Подфункция. Приложение использует вспышку камеры устройства". (http://developer.android.com/guide/topics/manifest/uses-feature-element.html)
Во всех 3 случаях, проверенных на 2 устройствах, работает нормально - я могу активировать/деактивировать вспышку, но я хочу быть уверенным, что именно каждый из них означает. Странно, что даже без опции 3 он работает нормально... для чего не используется опция 3?
Я думаю, что что-то не хватает...
ANSWER
<uses-permission android:name="android.permission.CAMERA" />
является обязательным для использования камеры (я не использую камеру через Intent, у меня есть приложение для настройки камеры)
и
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
- специальные функции камеры, которые я использую в приложении.
android:required="false"
означает, что Google Play будет не предотвращать установку приложения на устройства, которые не включают эти функции камеры, поэтому пользователь, имеющий устройство без камеры и вспышки камеры, сможет установить приложение с рынка.
http://developer.android.com/reference/android/hardware/Camera.html