מצלמות מערכת

במכשירים עם Android מגרסה 11 ואילך, מסגרת Android תומכת במצלמות מערכת. אלה מכשירים עם מצלמה שגלויים רק לתהליכים עם ההרשאה android.permission.SYSTEM_CAMERA וההרשאות הרגילות של המצלמה. ההרשאה android.permission.SYSTEM_CAMERA, שהוצגה ב-Android 11, כוללת רמת הגנה של system|signature. המשמעות היא שרק אפליקציות שמותקנות במחיצה של המערכת עם אותו אישור שבו חתומה המערכת או נחתמו עליו יכולות לקבל את ההרשאה הזו. לאפליקציות ציבוריות של צד שלישי אין גישה למצלמות המערכת.

מצלמות מערכת שימושיות ליצרני מכשירים שרוצים להטמיע תכונות שדורשות גישה למצלמה, אבל מוגבלות גם לאפליקציות בעלות הרשאות או לאפליקציות מערכת.

מכיוון שאפליקציות מערכת שקיבלו את ההרשאה android.permission.SYSTEM_CAMERA צריכות לקבל גם את ההרשאה android.permission.CAMERA, המשתמשים יכולים לבטל את ההרשאות הרגילות של CAMERA כדי למנוע מאפליקציה כזו לגשת למצלמות במכשיר.

הטמעה

כדי להפוך מכשיר מצלמה מסוים למצלמת מערכת, ה-HAL של המצלמה צריך לפרסם את ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA ברשימת היכולות שלו.

כדי ליצור אפליקציה שיש לה גישה למצלמת המערכת, צריך להוסיף אותה לרשימת ההיתרים בקובץ privapp-permissions.xml שספציפי למכשיר, שבו מצוינות האפליקציות שצריך להעניק להן את ההרשאה android.permission.SYSTEM_CAMERA.

אימות

כדי לוודא שאפליקציה ציבורית לא יכולה לזהות מצלמות מערכת במכשיר, מריצים את בדיקת CTS‏ android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery.

כל בדיקות ה-CTS של המצלמה פועלות במכשירים עם מצלמת מערכת.