Per i dispositivi con Android 13 o versioni successive, il framework Android fornisce un controllo multilivello per la potenza della torcia. In Android 12 e versioni precedenti, il framework consente solo di attivare o disattivare la modalità torcia. Supportando il controllo multilivello della potenza della torcia, i dispositivi possono abilitare casi d'uso come il controllo della luminosità della torcia in base alle condizioni di illuminazione e l'invio di segnali di assistenza utilizzando un effetto stroboscopico inviando rapidi impulsi di luce in fila. Un altro vantaggio di questa funzionalità è che può migliorare la durata della batteria e le prestazioni poiché la modalità torcia non deve essere sempre attivata alla massima potenza, il che può portare a condizioni di strozzamento termico.
API pubbliche
Le app possono utilizzare la funzionalità di controllo dell'intensità della torcia tramite le seguenti API pubbliche e chiavi delle caratteristiche della fotocamera. Per queste API non sono necessarie autorizzazioni per la fotocamera perché non è possibile accedere alla fotocamera.
API CameraManager
-
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: imposta il livello di luminosità della torcia associata al valorecameraId
specificato in modalità torcia. Se la modalità torcia è disattivata etorchStrength
è maggiore o uguale a1
, la torcia si accende con il livello di intensità specificato intorchStrength
. -
public int getTorchStrengthLevel (String cameraId)
: Restituisce il livello di luminosità dell'unità flash associata acameraId
.
Tasti delle CameraCharacteristics
-
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: livello di luminosità massimo. L'HAL della fotocamera pubblicizza questa funzionalità impostando un valore maggiore di1
. -
FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: livello di luminosità predefinito della torcia.
Implementazione
Per supportare la funzione di controllo della potenza della torcia sul dispositivo, utilizzare le seguenti interfacce AIDL HAL della fotocamera:
Posizione: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Assicurati che l'implementazione dell'HAL pubblicizzi le seguenti caratteristiche della fotocamera per supportare la funzionalità di controllo della luminosità della torcia:
Per un'implementazione di riferimento dell'HAL della fotocamera che supporta il controllo dell'intensità della torcia, vedere EmulatedCameraDeviceHWLImpl.cpp
.
Validazione
Per convalidare l'implementazione della funzione di controllo dell'intensità della torcia, eseguire i seguenti test VTS e CTS:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java