สำหรับอุปกรณ์ที่ใช้ 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
: ระดับความสว่างเริ่มต้นของไฟฉาย
การใช้งาน
หากต้องการรองรับฟีเจอร์ควบคุมความแรงของไฟฉายในอุปกรณ์ ให้ใช้อินเทอร์เฟซ HAL ของ AIDL กล้องต่อไปนี้
สถานที่: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
ตรวจสอบว่าการติดตั้งใช้งาน HAL ประกาศลักษณะกล้องต่อไปนี้ คีย์เพื่อรองรับฟีเจอร์ควบคุมความสว่างของไฟฉาย
ดูการใช้งาน HAL ของกล้องอ้างอิงที่รองรับการควบคุมความแรงของไฟฉายได้ที่
EmulatedCameraDeviceHWLImpl.cpp
การตรวจสอบความถูกต้อง
หากต้องการตรวจสอบการใช้งานฟีเจอร์ควบคุมความแรงของไฟฉาย ให้เรียกใช้การทดสอบ VTS และ CTS ต่อไปนี้