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