החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
מצלמות מערכת
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
במכשירים עם 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 של המצלמה פועלות במכשירים עם מצלמת מערכת.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-26 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-26 (שעון UTC)."],[],[],null,["# System cameras\n\nOn devices running Android 11 or higher, the Android\nframework supports system\ncameras, which are camera devices that are visible only to processes with the\n`android.permission.SYSTEM_CAMERA` permission and regular camera permissions.\nThe `android.permission.SYSTEM_CAMERA` permission, introduced in\nAndroid 11, has\na protection level of `system|signature`. This means that only apps installed on\nthe system partition with or signed with the same certificate as the system can\nbe granted this permission. Third-party public apps can't access system cameras.\n\nSystem cameras are useful for device manufacturers that want to implement\nfeatures that require access to a camera but are also restricted to privileged\nor system apps.\n\nBecause systems apps that are granted the\n`android.permission.SYSTEM_CAMERA` permission must also have the\n[`android.permission.CAMERA`](https://developer.android.com/reference/android/Manifest.permission#CAMERA)\npermission, users can choose to revoke normal `CAMERA` permissions to prevent\nsuch an app from accessing the cameras on the device.\n\nImplementation\n--------------\n\nTo make a particular camera device a system camera, the camera HAL must\nadvertise\n[`ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/camera/metadata/3.5/types.hal#120)\nin its capabilities list.\n\nTo create an app that has access to a system camera, the app must be allowlisted\nin the device-specific `privapp-permissions.xml` file, which specifies the apps\nthat the\n[`android.permission.SYSTEM_CAMERA`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/core/res/AndroidManifest.xml#1312)\npermission must be granted to.\n\nValidation\n----------\n\nTo verify that no system cameras on the device can be discovered by a public\napp, run the\n`android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery` CTS\ntest.\n\nAll\n[camera CTS tests](/docs/compatibility/cts/camera-hal#cts_tests)\nrun on system camera devices."]]