برای دستگاههای دارای Android نسخه ۱۳ یا بالاتر، چارچوب Android کنترل چندسطحی برای شدت نور چراغقوه ارائه میدهد. در Android 12 و نسخههای پایینتر، چارچوب فقط اجازه میدهد حالت چراغ قوه روشن یا خاموش شود. با پشتیبانی از کنترل قدرت چراغ قوه چندسطحی، دستگاهها میتوانند موارد استفادهای مثل کنترل روشنایی چراغ قوه براساس شرایط نورپردازی و ارسال سیگنال برای کمک بااستفاده از اثر نور چشمکزن با ارسال پالسهای سریع نور بهصورت متوالی را فعال کنند. مزیت دیگر این ویژگی این است که میتواند عمر باتری و عملکرد را بهبود بخشد زیرا حالت چراغ قوه همیشه نیازی نیست که با حداکثر قدرت روشن شود، که میتواند منجر به شرایط محدودیت حرارتی شود.
میاناهای برنامهسازی کاربردی عمومی
برنامهها میتوانند ازطریق میاناهای برنامهسازی کاربردی عمومی و کلیدهای مشخصات دوربین زیر از ویژگی کنترل شدت چراغقوه استفاده کنند. برای این میاناهای برنامهسازی کاربردی، هیچ اجازه دوربینی لازم نیست چون به دوربین دسترسی پیدا نمیشود.
CameraManager APIs
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength): سطح روشنایی چراغقوه مرتبط با مقدارcameraIdدادهشده در حالت چراغقوه را تنظیم میکند. اگر حالت چراغقوه خاموش باشد وtorchStrengthبزرگتر یا مساوی1باشد، چراغقوه با سطح قدرتی که درtorchStrengthمشخص شده است روشن میشود.public int getTorchStrengthLevel (String cameraId): سطح روشنایی واحد فلاش مرتبط باcameraIdرا برمیگرداند.
کلیدهای CameraCharacteristics
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: حداکثر سطح روشنایی. «لایه انتزاعی سختافزار» دوربین این ویژگی را با تنظیم مقدار بزرگتر از1تبلیغ میکند.FLASH_INFO_STRENGTH_DEFAULT_LEVEL: سطح روشنایی پیشفرض چراغ قوه.
پیادهسازی
برای پشتیبانی از ویژگی کنترل قدرت چراغقوه در دستگاهتان، از میاناهای AIDL HAL دوربین زیر استفاده کنید:
مکان: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
مطمئن شوید پیادهسازی HAL شما کلیدهای مشخصههای دوربین زیر را برای پشتیبانی از ویژگی کنترل روشنایی چراغ قوه تبلیغ میکند:
برای پیادهسازی مرجع Camera HAL که از کنترل قدرت چراغ قوه پشتیبانی میکند،
به
EmulatedCameraDeviceHWLImpl.cpp مراجعه کنید.
اعتبارسنجی
برای اعتبارسنجی پیادهسازی ویژگی کنترل قدرت چراغ قوه، آزمایشهای VTS و CTS زیر را اجرا کنید: