اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
كاميرات النظام
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
على الأجهزة التي تعمل بالإصدار 11 من نظام التشغيل Android أو الإصدارات الأحدث، يتيح إطار عمل 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
لها.
التحقُّق
للتأكّد من أنّه لا يمكن لأي تطبيق علني
اكتشاف أي كاميرات نظام على الجهاز، يمكنك إجراء اختبار
android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
CTS.
يتم تنفيذ جميع
اختبارات مجموعة اختبار التوافق (CTS) للكاميرا
على أجهزة كاميرا النظام.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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."]]