بالنسبة للأجهزة التي تعمل بنظام التشغيل 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 الخاص بك يعلن عن مفاتيح خصائص الكاميرا التالية لدعم ميزة التحكم في سطوع الشعلة:
للحصول على تطبيق مرجعي للكاميرا 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