Per i dispositivi con Android 13 o versioni successive, il framework Android fornisce un controllo multilivello dell'intensità della torcia. In Android 12 e versioni precedenti, il framework consente solo di attivare o disattivare la modalità torcia. Grazie al supporto del controllo dell'intensità della torcia a più livelli, i dispositivi possono attivare 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 impulsi di luce rapidi di seguito. Un altro vantaggio di questa funzionalità è che può migliorare la durata e le prestazioni della batteria, poiché la modalità Torcia non deve sempre essere attivata alla massima intensità, il che può portare a condizioni di limitazione termica.
API pubbliche
Le app possono utilizzare la funzionalità di controllo dell'intensità della torcia tramite le seguenti API pubbliche e chiavi delle caratteristiche della videocamera. Per queste API non sono necessarie autorizzazioni fotocamera perché non viene eseguito l'accesso 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à del flash associato acameraId
.
Chiavi 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 funzionalità di controllo dell'intensità della torcia sul tuo dispositivo, utilizza le seguenti interfacce HAL AIDL della fotocamera:
Località: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Assicurati che l'implementazione HAL pubblicizzi le seguenti chiavi delle caratteristiche della fotocamera per supportare la funzionalità di controllo della luminosità della torcia:
Per un'implementazione di riferimento di Camera HAL che supporta il controllo dell'intensità della torcia,
vedi
EmulatedCameraDeviceHWLImpl.cpp
.
Convalida
Per convalidare l'implementazione della funzionalità di controllo dell'intensità della torcia, esegui i seguenti test VTS e CTS: