بالنسبة إلى الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android أو إصدار أحدث، يوفّر إطار عمل Android عنصر تحكّم متعدد المستويات في قوة المصباح. في الإصدار 12 من نظام التشغيل Android والإصدارات الأقدم، لا يسمح إطار العمل إلا بتفعيل وضع المصباح أو إيقافه. من خلال توفير عنصر تحكّم متعدد المستويات في قوة المصباح، يمكن للأجهزة تفعيل حالات استخدام، مثل التحكّم في سطوع ضوء الفلاش استنادًا إلى ظروف الإضاءة وإرسال إشارات لطلب المساعدة باستخدام تأثير وميض من خلال إرسال نبضات ضوئية سريعة متتالية. ميزة أخرى لهذا الإعداد هي أنّه يمكن أن يحسّن عمر البطارية والأداء لأنّه ليس من الضروري دائمًا تفعيل وضع المصباح بأقصى قوة، ما قد يؤدي إلى ظروف خفض الأداء بسبب الحرارة.
واجهات برمجة التطبيقات العامة
يمكن للتطبيقات استخدام ميزة التحكّم في قوة المصباح من خلال واجهات برمجة التطبيقات العامة ومفاتيح خصائص الكاميرا التالية. لا تتطلّب واجهات برمجة التطبيقات هذه أذونات الكاميرا لأنّه لا يتم الوصول إلى الكاميرا.
واجهات برمجة تطبيقات CameraManager
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength): يضبط مستوى سطوع ضوء الفلاش المرتبط بقيمةcameraIdالمحدّدة في وضع ضوء الفلاش. إذا كان وضع المصباح غير مفعّل وكانت قيمةtorchStrengthأكبر من أو تساوي1، يتم تفعيل المصباح بمستوى القوة المحدّد فيtorchStrength.public int getTorchStrengthLevel (String cameraId): يعرض مستوى سطوع وحدة الفلاش المرتبطة بـcameraId.
مفاتيح CameraCharacteristics
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: أقصى مستوى للسطوع. تعلن Camera HAL عن هذه الميزة من خلال ضبط قيمة أكبر من1.FLASH_INFO_STRENGTH_DEFAULT_LEVEL: مستوى السطوع التلقائي لضوء الفلاش.
التنفيذ
لاستخدام ميزة التحكّم في قوة المصباح على جهازك، استخدِم واجهات Camera AIDL HAL التالية:
الموقع الجغرافي: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
تأكَّد من أنّ عملية تنفيذ HAL تعلن عن مفاتيح خصائص الكاميرا التالية لاستخدام ميزة التحكّم في سطوع المصباح:
للحصول على مرجع لعملية تنفيذ Camera HAL التي تتيح التحكّم في قوة المصباح،
اطّلِع على
EmulatedCameraDeviceHWLImpl.cpp.
التحقق من صحة البيانات
للتأكّد من صحة عملية تنفيذ ميزة التحكّم في قوة المصباح، شغِّل اختبارَي VTS وCTS التاليَين: