การควบคุมความแรงของไฟฉาย

สำหรับอุปกรณ์ที่ใช้ 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 ต่อไปนี้