برای دستگاههایی که Android 13 یا بالاتر دارند، چارچوب Android یک کنترل چند سطحی برای قدرت مشعل فراهم میکند. در اندروید 12 و پایین تر، این فریم ورک فقط امکان روشن یا خاموش کردن حالت مشعل را می دهد. با پشتیبانی از کنترل قدرت مشعل چند سطحی، دستگاه ها می توانند موارد استفاده مانند کنترل روشنایی چراغ قوه بر اساس شرایط نوری و ارسال سیگنال برای کمک با استفاده از جلوه بارق با ارسال پالس های سریع نور در یک ردیف را فعال کنند. یکی دیگر از مزایای این ویژگی این است که می تواند طول عمر و عملکرد باتری را بهبود بخشد، زیرا حالت مشعل همیشه نیازی به روشن شدن با حداکثر قدرت ندارد، که می تواند منجر به شرایط گلوگاه حرارتی شود.
API های عمومی
برنامهها میتوانند از ویژگی کنترل قدرت مشعل از طریق APIهای عمومی زیر و کلیدهای ویژگیهای دوربین استفاده کنند. هیچ مجوز دوربینی برای این APIها لازم نیست زیرا به دوربین دسترسی ندارد.
API های CameraManager
-
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: سطح روشنایی چراغ قوه مرتبط با مقدارcameraId
داده شده را در حالت مشعل تنظیم می کند. اگر حالت مشعل خاموش باشد و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 زیر را اجرا کنید: