Auf Geräten mit Android 13 oder höher bietet das Android-Framework eine mehrstufige Steuerung für die Helligkeit der Taschenlampe. In Android 12 und niedriger ermöglicht das Framework nur das Ein- und Ausschalten des Taschenlampenmodus. Durch die Unterstützung der Steuerung der Taschenlampenstärke auf mehreren Ebenen können Geräte Anwendungsfälle wie das Anpassen der Helligkeit der Taschenlampe basierend auf den Lichtverhältnissen und das Senden von Hilfesignalen mithilfe eines Stroboskopeffekts ermöglichen, indem schnelle Lichtimpulse nacheinander gesendet werden. Ein weiterer Vorteil dieser Funktion ist, dass sie die Akkulaufzeit und Leistung verbessern kann, da der Taschenlampenmodus nicht immer mit maximaler Helligkeit aktiviert werden muss, was zu einer thermischen Drosselung führen kann.
Öffentliche APIs
Apps können die Funktion zur Steuerung der Taschenlampenstärke über die folgenden öffentlichen APIs und Kameraschlüssel verwenden. Für diese APIs sind keine Kameraberechtigungen erforderlich, da nicht auf die Kamera zugegriffen wird.
CameraManager-APIs
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: Legt die Helligkeitsstufe der Taschenlampe fest, die dem angegebenencameraId
-Wert im Taschenlampenmodus zugeordnet ist. Wenn der Taschenlampenmodus deaktiviert ist undtorchStrength
größer oder gleich1
ist, wird die Taschenlampe mit der intorchStrength
angegebenen Helligkeitsstufe eingeschaltet.public int getTorchStrengthLevel (String cameraId)
: Gibt die Helligkeitsstufe des Blitzgeräts zurück, das mitcameraId
verknüpft ist.
CameraCharacteristics-Schlüssel
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Maximale Helligkeitsstufe. Die Kamera-HAL gibt diese Funktion an, indem sie einen Wert größer als1
festlegt.FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Standardmäßige Helligkeitsstufe der Taschenlampe.
Implementierung
Um die Funktion zur Steuerung der Taschenlampenstärke auf Ihrem Gerät zu unterstützen, verwenden Sie die folgenden AIDL-HAL-Schnittstellen für die Kamera:
Standort: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Achten Sie darauf, dass in Ihrer HAL-Implementierung die folgenden Schlüssel für Kameraeigenschaften beworben werden, um die Funktion zur Steuerung der Taschenlampenhelligkeit zu unterstützen:
Eine Referenzimplementierung der Kamera-HAL, die die Steuerung der Taschenlampenstärke unterstützt, finden Sie unter EmulatedCameraDeviceHWLImpl.cpp
.
Zertifizierungsstufe
Führen Sie die folgenden VTS- und CTS-Tests aus, um die Implementierung der Funktion zur Steuerung der Taschenlampenhelligkeit zu validieren: