Caméras système

Sur les appareils exécutant Android 11 ou version ultérieure, le framework Android prend en charge 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 de caméra normales. 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 bénéficier de cette autorisation. Les applications publiques tierces ne peuvent pas accéder aux caméras 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 privilégiées ou système.

Étant donné que les applications système bénéficiant de l'autorisation android.permission.SYSTEM_CAMERA 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.

Mise en œuvre

Pour transformer un périphérique de caméra particulier en caméra système, la caméra HAL doit annoncer ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA dans sa liste de capacités.

Pour créer une application ayant accès à une caméra système, l'application doit être ajoutée à la liste blanche 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 sur l'appareil ne peut être découverte par une application publique, exécutez le test android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery CTS.

Tous les tests CTS des caméras s'exécutent sur les caméras système.