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