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