במכשירים עם 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
: רמת הבהירות שמוגדרת כברירת מחדל בפנס.
הטמעה
כדי לתמוך בתכונה של בקרת עוצמת הפנס במכשיר, צריך להשתמש בממשקי ה-HAL הבאים של המצלמה:
מיקום: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
כדי לתמוך בתכונה של בקרת הבהירות של הפנס, צריך לוודא שההטמעה של HAL מפרסמת את מפתחות המאפיינים הבאים של המצלמה:
להטמעה לדוגמה של HAL למצלמה שתומכת בשליטה בעוצמת הפנס, ראו EmulatedCameraDeviceHWLImpl.cpp
.
אימות
כדי לאמת את ההטמעה של תכונת בקרת עוצמת הפנס, מריצים את הבדיקות הבאות של VTS ו-CTS: