עבור מכשירים המריצים אנדרואיד 13 ומעלה, מסגרת אנדרואיד מספקת שליטה רב-שכבתית לחוזק הלפיד. באנדרואיד 12 ומטה, המסגרת מאפשרת רק הפעלה או כיבוי של מצב הלפיד. על ידי תמיכה בבקרת חוזק לפיד רב-מפלסית, מכשירים יכולים לאפשר מקרי שימוש כגון שליטה בבהירות הפנס בהתבסס על תנאי התאורה ושליחת אותות לסיוע באמצעות אפקט strobe על ידי שליחת פולסים מהירים של אור ברציפות. יתרון נוסף של תכונה זו הוא שהיא יכולה לשפר את חיי הסוללה והביצועים מכיוון שלא תמיד צריך להפעיל את מצב הלפיד בעוצמה המקסימלית, מה שעלול להוביל לתנאי מצערת תרמית.
ממשקי API ציבוריים
אפליקציות יכולות להשתמש בתכונת בקרת עוצמת הלפיד באמצעות ממשקי ה-API הציבוריים ומקשי מאפייני המצלמה הבאים. לא נדרשות הרשאות מצלמה עבור ממשקי API אלה מכיוון שאין גישה למצלמה.
ממשקי API CameraManager
-
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: מגדיר את רמת הבהירות של הפנס המשויך לערךcameraId
הנתון במצב לפיד. אם מצב הלפיד כבוי וכוחtorchStrength
גדול מ-1 או שווה ל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