Auf Geräten mit Android 13 oder höher bietet das Android-Framework eine mehrstufige Steuerung der Taschenlampenleistung. Unter Android 12 und niedriger ermöglicht das Framework nur das Ein- und Ausschalten des Taschenlampenmodus. Durch die Unterstützung einer mehrstufigen Steuerung der Taschenlampenstärke können Geräte Anwendungsfälle wie die Steuerung der Helligkeit der Taschenlampe basierend auf den Lichtverhältnissen und das Senden von Hilfesignalen mit einem Stroboskopeffekt ermöglichen, indem schnelle Lichtimpulse hintereinander gesendet werden. Ein weiterer Vorteil dieser Funktion ist, dass sich die Akkulaufzeit und Leistung verbessern können, da der Taschenlampenmodus nicht immer mit maximaler Stärke aktiviert werden muss, was zu einer thermischen Drosselung führen kann.
Öffentliche APIs
Apps können die Funktion zur Steuerung der Taschenlampenhelligkeit über die folgenden öffentlichen APIs und Kameraeigenschaftsschlüssel verwenden. Für diese APIs sind keine Kameraberechtigungen erforderlich, da kein Zugriff auf die Kamera erfolgt.
CameraManager APIs
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: Mit diesem Befehl wird die Helligkeit der Taschenlampe im Taschenlampenmodus festgelegt, die dem angegebenencameraId
-Wert zugeordnet ist. Wenn der Taschenlampenmodus deaktiviert ist undtorchStrength
größer oder gleich1
ist, wird die Taschenlampe mit der intorchStrength
angegebenen Stärke eingeschaltet.public int getTorchStrengthLevel (String cameraId)
: Gibt die Helligkeit des mitcameraId
verknüpften Blitzes zurück.
Schlüssel für „CameraCharacteristics“
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Maximale Helligkeit. Die Kamera-HAL kündigt diese Funktion an, indem ein Wert festgelegt wird, der über1
liegt.FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Standardhelligkeit der Taschenlampe.
Implementierung
Verwenden Sie die folgenden Kamera-AIDL-HAL-Schnittstellen, um die Funktion zur Steuerung der Taschenlampenstärke auf Ihrem Gerät zu unterstützen:
Standort: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Ihre HAL-Implementierung muss die folgenden Kameraeigenschaften angeben, 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: