À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Caméras du système
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Sur les appareils équipés d'Android 11 ou version ultérieure, le framework Android est compatible avec les caméras système, qui sont des appareils photo visibles uniquement par les processus disposant de l'autorisation android.permission.SYSTEM_CAMERA
et des autorisations d'appareil photo standards.
L'autorisation android.permission.SYSTEM_CAMERA
, introduite dans Android 11, a un niveau de protection de system|signature
. Cela signifie que seules les applications installées sur la partition système avec ou signées avec le même certificat que le système peuvent se voir accorder cette autorisation. Les applications publiques tierces ne peuvent pas accéder aux caméras du système.
Les caméras système sont utiles pour les fabricants d'appareils qui souhaitent implémenter des fonctionnalités nécessitant l'accès à une caméra, mais qui sont également limitées aux applications système ou privilégiées.
Étant donné que les applications système auxquelles l'autorisation android.permission.SYSTEM_CAMERA
est accordée doivent également disposer de l'autorisation android.permission.CAMERA
, les utilisateurs peuvent choisir de révoquer les autorisations CAMERA
normales pour empêcher une telle application d'accéder aux caméras de l'appareil.
Implémentation
Pour faire d'un appareil photo particulier une caméra système, le HAL de l'appareil photo doit annoncer ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
dans sa liste de fonctionnalités.
Pour créer une application ayant accès à une caméra système, celle-ci doit être ajoutée à la liste d'autorisation dans le fichier privapp-permissions.xml
spécifique à l'appareil, qui spécifie les applications auxquelles l'autorisation android.permission.SYSTEM_CAMERA
doit être accordée.
Validation
Pour vérifier qu'aucune caméra système de l'appareil ne peut être détectée par une application publique, exécutez le test CTS android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
.
Tous les tests CTS de l'appareil photo s'exécutent sur les appareils photo du système.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]