สำหรับอุปกรณ์ที่ใช้ Android 13 ขึ้นไป เฟรมเวิร์ก Android จะให้การควบคุมหลายระดับสำหรับความแรงของคบเพลิง ใน Android 12 และต่ำกว่า เฟรมเวิร์กอนุญาตให้เปิดหรือปิดโหมดคบเพลิงเท่านั้น ด้วยการรองรับการควบคุมความแรงของไฟฉายหลายระดับ อุปกรณ์จึงสามารถเปิดใช้งานกรณีการใช้งานได้ เช่น การควบคุมความสว่างของไฟฉายตามสภาพแสง และการส่งสัญญาณเพื่อขอความช่วยเหลือโดยใช้เอฟเฟกต์แฟลชโดยการส่งพัลส์แสงอย่างรวดเร็วติดต่อกัน ข้อดีอีกประการของคุณสมบัตินี้คือสามารถยืดอายุการใช้งานและประสิทธิภาพของแบตเตอรี่ได้ เนื่องจากไม่จำเป็นต้องเปิดโหมดไฟฉายที่ระดับสูงสุดเสมอไป ซึ่งอาจนำไปสู่ภาวะควบคุมความร้อนได้
API สาธารณะ
แอปสามารถใช้ฟีเจอร์ควบคุมความแรงของคบเพลิงผ่าน API สาธารณะและปุ่มคุณลักษณะของกล้องต่อไปนี้ API เหล่านี้ไม่จำเป็นต้องมีสิทธิ์เข้าถึงกล้องเนื่องจากไม่ได้เข้าถึงกล้อง
CameraManager
API
-
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: ตั้งค่าระดับความสว่างของไฟฉายที่เกี่ยวข้องกับค่าcameraId
ที่กำหนดในโหมดไฟฉาย หากโหมดคบเพลิงปิดอยู่และtorchStrength
มากกว่าหรือเท่ากับ1
คบเพลิงจะเปิดตามระดับความแรงที่ระบุในtorchStrength
-
public int getTorchStrengthLevel (String cameraId)
: ส่งกลับระดับความสว่างของชุดแฟลชที่เกี่ยวข้องกับcameraId
ปุ่ม CameraCharacteristics
-
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: ระดับความสว่างสูงสุด กล้อง HAL โฆษณาคุณลักษณะนี้โดยการตั้งค่าที่มากกว่า1
-
FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: ระดับความสว่างของไฟฉายเริ่มต้น
การนำไปปฏิบัติ
เพื่อรองรับคุณสมบัติการควบคุมความแรงของคบเพลิงบนอุปกรณ์ของคุณ ให้ใช้อินเทอร์เฟซ AIDL HAL ของกล้องต่อไปนี้:
ตำแหน่ง: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
/aidl/android/hardware/กล้อง/อุปกรณ์/ICameraDevice.aidl
ตรวจสอบให้แน่ใจว่าการใช้งาน HAL ของคุณโฆษณาคีย์คุณลักษณะของกล้องต่อไปนี้เพื่อรองรับคุณสมบัติการควบคุมความสว่างของไฟฉาย:
สำหรับการอ้างอิงการใช้งาน Camera HAL ที่รองรับการควบคุมความแรงของคบเพลิง โปรดดูที่ EmulatedCameraDeviceHWLImpl.cpp
การตรวจสอบ
หากต้องการตรวจสอบการใช้งานฟีเจอร์ควบคุมความแรงของคบเพลิง ให้ทำการทดสอบ VTS และ CTS ต่อไปนี้:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java
/tests/กล้อง/src/android/hardware/camera2/cts/FlashlightTest.java