2013-07-10 11 views
12

Mam niestandardową aplikację aparatu i muszę mieć możliwość włączenia lampy błyskowej (faktycznie w trybie palnika)/wyłączenia.Jakie pozwolenie jest mi potrzebne do korzystania z lampy błyskowej w podglądzie kamery?

Jakiego zezwolenia potrzebuję w tym przypadku?

1.Only

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

2. Ci od 1 Plus:

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

myślę, że ten jest używany, gdy chcesz korzystać z Flasha, ale bez kamery (jak w tym przypadku: Android - Using Camera Flash)

3.Those od 1 plus:

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

EDITED (dzięki @maclir):

Powyższa linia jest nieprawidłowy. Prawidłowe to:

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

developer.android.com: "Podprogram, aplikacja korzysta z lampy błyskowej aparatu." (http://developer.android.com/guide/topics/manifest/uses-feature-element.html)

We wszystkich 3 przypadkach testowanych na 2 urządzeniach działa poprawnie - mogę włączyć/wyłączyć lampę błyskową, ale chcę mieć pewność, co dokładnie oznacza każdy z nich. To dziwne, że nawet bez opcji 3 działa dobrze ... dla czego jest używana opcja 3?

Chyba czegoś brakuje ...

ODPOWIEDŹ

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

jest obowiązkowe w celu korzystania z aparatu (nie używam aparatu poprzez intencyjny, mam Dostosuj Aplikacja aparatu)

oraz:

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

to specyficzne cechy aparatu, których używam w aplikacji.

android:required="false" oznacza Google Play nie uniemożliwić aplikacji instalowanych na urządzeniach, które nie zawierają tych funkcji aparatu - więc użytkownik posiadający urządzenia bez aparatu i lampy błyskowej będą mogli zainstalować aplikację z rynku.

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

+0

Myślę, że opcja 3 jest najlepiej używana do korzystania z aparatu i autofokusa. – Niko

+0

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

Odpowiedz

22

Według programistów Androida permission-group:

Należy zauważyć, że element ten nie zadeklarować samego pozwolenia, tylko kategorię, w której uprawnienia mogą być umieszczone.Zobacz element <permission> o udzielenie informacji w sprawie ogłoszenia uprawnienia i przypisanie ich do grup

Będziesz potrzebować dwóch uprawnień Manifest.permission:

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

aby mieć dostęp do aparatu i latarkę.

I trzeba by deklaruje funkcje sprzętowe, które jest używane przez aplikację (aparatu fotograficznego i lampy błyskowej) 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 wskazuje, czy telefony nie posiadają one sprzętowego można zainstalować aplikację, czy nie.

Na trzecim miejscu, myślę, że masz typ bo uses-permission tag nie może być używany z android.hardware...

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

Poprawiłem w pytaniu trzecie stwierdzenie (w rzeczywistości dodane komentarz) :) – Paul

+0

Dzięki za odpowiedź. Zaktualizowałem pytanie, aby lepiej odzwierciedlić odpowiedź. – Paul

+0

Nie ma za co :) – maclir

1

Maclir odpowiedź pokazuje cały szczegół wymaganego pozwolenia, aby korzystać z aparatu i jego światło lampy błyskowej . możesz również użyć tych dwóch uprawnień do używania latarki w swojej aplikacji.

+1

, więc nie potrzebuję '' jeśli używam ''? – Paul

+1

nie działa poprawnie z tymi dwiema premiami –

+0

w rzeczywistości, jeśli dodasz , doda to domyślnie wszystkie funkcje-funkcje związane z kamerą .. –

Powiązane problemy