بالنسبة للأجهزة التي تعمل بنظام Android 13 أو أعلى ، يوفر إطار عمل Android تحكمًا متعدد المستويات لقوة الشعلة. في نظام Android 12 والإصدارات الأقدم ، يسمح الإطار فقط بتشغيل وضع الشعلة أو إيقاف تشغيله. من خلال دعم التحكم في قوة الشعلة متعددة المستويات ، يمكن للأجهزة تمكين حالات الاستخدام مثل التحكم في سطوع المصباح بناءً على ظروف الإضاءة وإرسال إشارات للمساعدة باستخدام تأثير ستروب عن طريق إرسال نبضات ضوئية سريعة على التوالي. فائدة أخرى لهذه الميزة هي أنها يمكن أن تحسن عمر البطارية والأداء لأن وضع الشعلة لا يحتاج دائمًا إلى التشغيل بأقصى قوة ، مما قد يؤدي إلى ظروف الاختناق الحراري.
واجهات برمجة التطبيقات العامة
يمكن للتطبيقات استخدام ميزة التحكم في قوة الشعلة من خلال واجهات برمجة التطبيقات العامة التالية ومفاتيح خصائص الكاميرا. لا توجد أذونات كاميرا مطلوبة لواجهات برمجة التطبيقات هذه نظرًا لعدم الوصول إلى الكاميرا.
واجهات برمجة تطبيقات CameraManager
-
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
: مستوى سطوع المصباح الافتراضي.
تطبيق
لدعم ميزة التحكم في قوة الشعلة على جهازك ، استخدم واجهات AIDL HAL للكاميرا التالية:
الموقع: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
تأكد من أن تطبيق HAL الخاص بك يعلن عن مفاتيح خصائص الكاميرا التالية لدعم ميزة التحكم في سطوع الشعلة:
للحصول على مرجع لتطبيق Camera HAL الذي يدعم التحكم في قوة الشعلة ، راجع EmulatedCameraDeviceHWLImpl.cpp
.
تصديق
للتحقق من صحة تنفيذك لميزة التحكم في قوة الشعلة ، قم بإجراء اختبارات VTS و CTS التالية:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java