Какое разрешение мне нужно, чтобы использовать вспышку камеры в предварительном просмотре камеры?

У меня есть приложение для пользовательских камер, и мне нужно включить вспышку (режим факела)/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

Ответ 1

В соответствии с разработчиками Android permission-group:

Обратите внимание, что этот элемент не объявляет само разрешение, а только категорию, в которой могут быть размещены разрешения. См. Элемент <permission> для получения информации о объявлении разрешений и назначении их группам

Вам потребуются два разрешения Manifest.permission:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />

чтобы иметь доступ к камере и фонарю.

И вам нужно будет объявить аппаратные функции, используемые приложением (камера и вспышка) Ссылка на функции:

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

android:required указывает, могут ли телефоны, не имеющие этих аппаратных средств, установить ваше приложение или нет.

В вашей третьей точке, я думаю, у вас есть тип, потому что тэг uses-permission не может использоваться с android.hardware...

<uses-permission android:name="android.hardware.camera.flash"/>

Ответ 2

Maclir ответ показывает все детали разрешения, необходимые для использования камеры и ее вспышки. вы также можете использовать эти два разрешения для использования фонарика в своем приложении.

    <uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" />