Per i dispositivi con Android 13 o versioni successive, fornisce un controllo multilivello per l'intensità della torcia. Nella Android 12 e versioni precedenti, il framework consente solo per attivare o disattivare la modalità torcia. Supportando l'intensità della torcia multilivello i dispositivi possono consentire casi d'uso come il controllo della luminosità torcia in base alle condizioni di illuminazione e invio di segnali per assistenza utilizzando un effetto stroboscopico inviando rapidamente impulsi di luce in fila. Un altro il vantaggio di questa funzionalità è che può migliorare la durata e le prestazioni della batteria non è necessario che la modalità torcia sia sempre accesa alla massima potenza. il che può portare a condizioni di limitazione termica.
API pubbliche
Le app possono usare la funzionalità di controllo dell'intensità della torcia tramite i seguenti servizi pubblici API e chiavi delle caratteristiche della fotocamera. Non sono richieste autorizzazioni di accesso alla fotocamera per queste API perché non si accede alla fotocamera.
API CameraManager
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: Imposta il livello di luminosità della torcia associato al ValorecameraId
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
.
Chiavi CameraCharacteristics
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Livello di luminosità massimo. L'HAL della videocamera pubblicizza questa funzionalità impostando un valore maggiore di1
.FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Livello di luminosità della torcia predefinito.
Implementazione
Per supportare la funzionalità di controllo dell'intensità della torcia sul tuo dispositivo, usa quanto segue interfacce AIDL HAL per fotocamera:
Località: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Assicurati che l'implementazione HAL pubblicizzi le seguenti caratteristiche della videocamera per supportare la funzione di controllo della luminosità della torcia:
Per un riferimento all'implementazione HAL della videocamera che supporta il controllo dell'intensità della torcia,
vedi
EmulatedCameraDeviceHWLImpl.cpp
Convalida
Per convalidare l'implementazione della funzione di controllo dell'intensità della torcia, esegui la 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