Le service de caméras Android (ACS, Android Camera Service) comprend la pile de caméras 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 l'appareil photo, consultez Appareil photo. Cette page se concentre sur les thèmes spécifiques aux appareils automobiles et sur l'utilisation de l'API Android Camera.
Activer le service de caméras Android
Pour activer le service de caméras Android sur la plate-forme automobile, le fichier make du produit doit spécifier ENABLE_CAMERA_SERVICE
comme true
.
Caractéristiques spécifiques aux caméras automobiles
Dans le contexte des appareils automobiles, la HAL de l'appareil photo doit inclure deux caractéristiques distinctes propres au facteur de forme automobile :
Élément | Description |
---|---|
android.automotive.location |
Indique le positionnement des caméras par rapport au châssis du véhicule. |
android.automotive.lens.facing |
Indique la direction vers laquelle l'objectif de la caméra est orienté par rapport au châssis du véhicule et aux sièges passagers. |
Lorsque les caméras ne sont pas précisément alignées sur un emplacement ou une orientation d'objectif spécifiques (indiqués 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, la HAL de la caméra doit fournir des caractéristiques supplémentaires pour permettre aux applications de déterminer précisément l'emplacement de la caméra. Ces caractéristiques incluent les suivantes :
Accorder l'accès à l'utilisateur système headless
Certaines applications système et propriétaires (1P) peuvent accéder à l'appareil photo en tant qu'utilisateur système headless, également appelé utilisateur 0. Cela permet de vérifier que les applications critiques pour 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 utilisées localement et NE DOIVENT PAS être transmises hors 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 relatif aux autorisations préaccordées décrit dans Conception pour la conduite pour les exigences intégrées de Google.
Configurer une liste d'autorisation de confidentialité pour une caméra
Les fabricants d'équipement d'origine (OEM) peuvent désormais configurer des applications de caméras spécifiques pour les inclure dans une liste d'autorisation qui accorde l'accès à la caméra, quel que soit l'état du bouton bascule de confidentialité de la caméra. 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 disposant de l'autorisation android.permission.CAMERA_PRIVACY_ALLOWLIST
peuvent utiliser cette fonctionnalité.
Les partenaires Google Automotive Services (GAS) doivent soumettre leurs applications à la liste d'autorisation pour examen et respecter le règlement concernant 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
:
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 can't turn on privacy for these packages as OEM requires camera access for these packages to preserve user safety. --> <config> <camera-privacy-allowlisted-app package="package_name" /> </config>
Ajoutez l'URL de la page d'informations sur les règles de confidentialité de l'application à
AndroidManifest.xml
. Le nom demeta-data
doit êtreprivacy_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 figurant sur 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 bascule de 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>
Profiter d'un accès anticipé à l'appareil photo
Certaines applications spécifiques sensibles au facteur 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 disposant de l'UID AID_AUTOMOTIVE_EVS
. Pour en savoir plus sur l'attribution d'un UID spécifique à une application système, consultez Contrôle d'accès discrétionnaire (DAC). Cet accès anticipé à la caméra est limité aux caméras système situées à l'extérieur de la carrosserie du véhicule.