במכשירים עם 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
.
מקשי מאפייני המצלמה
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:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java