Utiliser le service d'appareil photo Android

Le service d'appareil photo Android comprend la pile d'appareil photo utilisée dans les appareils automobiles, ainsi que dans d'autres facteurs de forme tels que les téléphones mobiles, les tablettes et les téléviseurs. Pour afficher l'architecture globale de la caméra, consultez la section Caméra. Cette page se concentre sur les sujets spécifiques aux appareils automobiles et à l'utilisation de l'API Android Camera.

Activer le service d'appareil photo Android

Pour activer le service d'appareil photo Android sur la plate-forme automobile, le fichier de compilation du produit doit spécifier ENABLE_CAMERA_SERVICE comme true.

Caractéristiques de l'appareil photo spécifiques au secteur automobile

Dans le contexte des appareils automobiles, la HAL de la caméra doit inclure deux caractéristiques distinctives spécifiques au facteur de forme automobile:

Nom Description
android.automotive.location Indique le positionnement des caméras par rapport au châssis de la carrosserie du véhicule.
android.automotive.lens.facing Indique la direction dans laquelle l'objectif d'une caméra est orienté par rapport au châssis de la carrosserie et aux sièges passagers.

Lorsque les caméras ne correspondent pas précisément à un emplacement ou à une orientation d'objectif spécifiques (indiqué par la présence de *_OTHER dans les caractéristiques android.automotive.location ou android.automotive.lens.facing), ou lorsque plusieurs caméras partagent le même emplacement et la même direction, le HAL de l'appareil photo doit fournir des caractéristiques supplémentaires pour permettre aux applications de déterminer avec précision l'emplacement de la caméra. Voici quelques-unes de ces caractéristiques:

Accorder l'accès à l'utilisateur système headless

Certaines applications système et first party (1P) peuvent accéder à l'appareil photo en tant qu'utilisateur système headless, également appelé utilisateur 0. Cette fonctionnalité garantit que les applications essentielles à la sécurité, telles que la caméra de recul, peuvent continuer à diffuser le flux de la caméra sans interruption, quel que soit le changement d'utilisateur au premier plan. Seules les applications signées par la plate-forme et disposant de la nouvelle autorisation android.permission.CAMERA_HEADLESS_SYSTEM_USER peuvent accéder à l'appareil photo en tant qu'utilisateur 0.

Pour les applications qui accèdent aux caméras en tant qu'utilisateur 0, les données de la caméra DOIVENT être consommées localement et NE DOIVENT PAS être transmises en dehors de l'appareil, y compris les données dérivées des données de la caméra. Ces applications nécessitent que l'autorisation android.permission.CAMERA soit pré-accordée et doivent respecter le règlement sur les autorisations pré-accordées décrit dans Concevoir pour la conduite pour les exigences GAS.

Configurer une liste d'autorisation de confidentialité de la caméra

Les fabricants d'équipement d'origine (OEM) peuvent désormais configurer des applications d'appareil photo spécifiques pour qu'elles soient incluses dans une liste d'autorisation qui accorde l'accès à l'appareil photo, quelle que soit l'état du bouton d'activation/de désactivation de la confidentialité de l'appareil photo. Cette fonctionnalité permet aux utilisateurs de désactiver l'accès à l'appareil photo pour les applications de divertissement, telles que les réseaux sociaux et les applications de visioconférence, tout en autorisant l'accès à l'appareil photo pour certaines applications de la liste d'autorisation.

Seules les applications système et privilégiées auxquelles l'autorisation android.permission.CAMERA_PRIVACY_ALLOWLIST a été accordée peuvent utiliser cette fonctionnalité. Les partenaires Google Automotive Services (GAS) doivent soumettre leurs applications de la liste d'autorisation pour examen et respecter le règlement sur la liste d'autorisation de confidentialité. Pour en savoir plus, consultez Android for Cars.

Ajouter une application à la liste d'autorisation

Dans le répertoire etc/sysconfig:

  1. Ajoutez le nom du package de l'application dans un fichier XML de configuration système:

    <!-- In an xml file under etc/sysconfig —>
    
    <!--
    Allowlisted packages for the camera privacy toggle. Users will not be able to turn the privacy on for these packages as OEM requires camera access for these packages to preserve user safety.
    -->
    
    <config>
        <camera-privacy-allowlisted-app package="package_name" />
    </config>
    
  2. Ajoutez l'URL de la page des règles de confidentialité de l'application à AndroidManifest.xml. Le nom de l'meta-data doit être privacy_policy.

    <meta-data android:name="privacy_policy" android:value= privacy policy URL/>
    

Par défaut, le bouton de confidentialité de la caméra pour les applications de la liste d'autorisation ou les applications requises est masqué dans l'interface utilisateur des paramètres de confidentialité. Toutefois, les OEM peuvent remplacer ce comportement en définissant l'indicateur suivant sur TRUE. Cela permet aux OEM de personnaliser la visibilité du bouton d'activation/de désactivation de la confidentialité de l'appareil photo pour les applications requises en fonction de leurs préférences.

<!-- Whether to show the toggle to turn on the camera privacy for required apps -->

<bool name="config_show_camera_required_apps_toggle">false</bool>

Obtenir un accès anticipé à l'appareil photo

Des applications spécifiques sensibles au temps et axées sur la sécurité peuvent accéder à la caméra avant la fin du processus de démarrage d'Android. Toutefois, cet accès est exclusivement accordé aux clients privilégiés avec UID AID_AUTOMOTIVE_EVS. Pour en savoir plus sur l'attribution d'un UID spécifique à une application native, consultez la section Contrôle des accès discrétionnaire (DAC). Cet accès anticipé à la caméra est limité aux caméras du système situées à l'extérieur de la carrosserie du véhicule.