במכשירים עם Android מגרסה 13 ואילך, מסגרת Android מספקת אמצעי בקרה רב-רמות לעוצמת הפנס. ב-Android 12 ומטה, המסגרת מאפשרת רק להפעיל או להשבית את מצב הפנס. תמיכה בשליטה בעוצמת הפנס בכמה רמות מאפשרת למכשירים להשתמש בתרחישי שימוש כמו שליטה בבהירות הפנס בהתאם לתנאי התאורה ושליחת אותות לעזרה באמצעות אפקט סטרובוסקופי על ידי שליחת פולסים מהירים של אור ברצף. יתרון נוסף של התכונה הזו הוא שהיא יכולה לשפר את חיי הסוללה ואת הביצועים, כי לא תמיד צריך להפעיל את מצב הפנס בעוצמה המקסימלית, מה שיכול להוביל לתנאים של ויסות תרמי.
ממשקי API ציבוריים
אפליקציות יכולות להשתמש בתכונה של שליטה בעוצמת הפנס באמצעות ממשקי ה-API הציבוריים הבאים ומפתחות המאפיינים של המצלמה. לא נדרשות הרשאות גישה למצלמה עבור ממשקי ה-API האלה כי לא מתבצעת גישה למצלמה.
ממשקי CameraManager API
-
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: