2013-07-10 2 views
12

사용자 정의 카메라 응용 프로그램이있어서 실제로 플래시 켜기 (토치 모드)/해제 할 수 있어야합니다.카메라 미리보기에서 카메라 플래시를 사용하려면 어떤 권한이 필요합니까?

이 경우 어떤 권한이 필요합니까?

2. 1 플러스에서 그

1.Only이

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

<permission android:name="android.permission.FLASHLIGHT" 
    android:permissionGroup="android.permission-group.HARDWARE_CONTROLS" 
    android:protectionLevel="normal"/> 

나는 카메라없이 (이 경우처럼 Flash를 사용하고자 할 때 사용됨 생각하지만 : Android - Using Camera Flash) 1 플러스에서

3.Those :

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

편집을 할 (감사 @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보다 무엇이 좋은가요?

는 내가 뭔가를 놓친 것 같아 ...

답변 (내가 의도을 통해 카메라를 사용하지 않는

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

카메라를 사용하기 위해 필수입니다, 나는 사용자 정의가 카메라 응용 프로그램)

과 :

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

은 내가 앱에서 사용하는 카메라 관련 기능입니다. 그래서 시장에서 응용 프로그램을 설치할 수 있습니다 카메라와 카메라 플래시없이 장치를 갖는 사용자 -

android:required="false"

구글 플레이는 이러한 카메라 기능을 포함하지 않는 장치에 설치되는 응용 프로그램을 방해하지 의미합니다. 안드로이드 개발자 permission-group에 따르면

http://developer.android.com/reference/android/hardware/Camera.html

+0

옵션 3은 카메라 및 자동 초점 사용에 가장 적합하다고 생각합니다. – Niko

+0

https://android.googlesource.com/platform/frameworks/native/+/master/data/etc/android.hardware.camera.flash-autofocus.xml – Niko

답변

22

:이 요소가 권한 자체 권한을 배치 할 수있는 유일한 범주를 선언하지 않는

참고.

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

카메라와 손전등에 액세스 할 수 있도록 : 두 권한 Manifest.permission을 필요 권한을 선언하고 그룹

에 할당에 대한 정보는 <permission> 요소를 참조하십시오.

그리고 응용 프로그램 (카메라와 플래시)에 의해 사용되는 하드웨어 기능을 선언해야합니다 Features Reference : 폰이 하드웨어가 응용 프로그램을 설치할 수 없거나 필요 여부를

<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"/> 
+0

질문에서 세 번째 문장을 수정했습니다 (실제로 추가됨). 의견) :) – Paul

+0

답해 주셔서 감사합니다. 답변을 더 잘 반영하도록 질문을 업데이트했습니다. – Paul

+0

환영합니다 :) – maclir

1

Maclir 답을 사용할 수 없으므로 유형을 모두 카메라를 사용하는 데 필요한 권한의 세부 사항과 플래시 빛을 보여주는 생각 . 이 두 가지 권한을 사용하여 응용 프로그램에서 손전등을 사용할 수도 있습니다.

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

그래서''는 필요 없습니다. hardware.camera "/>'? – Paul

+1

실제로이 두 가지 전제를 사용하면 괜찮습니다. –

+0

실제로 를 추가하면 카메라와 관련된 모든 사용 기능이 암시 적으로 추가됩니다. –

관련 문제