Mode de compatibilité d'Android Automotive OS

Pour simplifier le processus d'intégration d'applications mobiles sur les appareils Android Automotive OS, certaines voitures sont équipées d'un mode de compatibilité qui résout les problèmes courants rencontrés lors de l'intégration d'applications mobiles existantes dans les voitures.

Bien que ce mode de compatibilité soit utilisé par le programme Applications mobiles adaptées aux voitures, les applications qui n'en font pas partie peuvent également s'exécuter dans ce mode.

Comprendre le mode de compatibilité

Le mode de compatibilité Android Automotive OS est une fonctionnalité logicielle disponible sur certains véhicules pour améliorer l'expérience utilisateur des applications conçues pour les appareils mobiles lorsqu'elles sont exécutées sur Android Automotive OS.

Navigation vers l'arrière

Contrairement à d'autres facteurs de forme, les appareils Android Automotive OS ne sont pas tenus de disposer d'une affordance de retour matérielle ou logicielle. Le mode de compatibilité résout ce problème en exigeant une affordance de retour fournie par le système, qu'il s'agisse d'un bouton matériel, d'un bouton logiciel, d'un geste ou d'un autre élément. Cela évite aux applications de devoir assurer la navigation uniquement via leurs propres éléments d'interface utilisateur.

L'utilisateur peut revenir à l'écran précédent, même si l'application ne fournit pas d'affordance "Retour" dans son interface utilisateur.
L'utilisateur ne peut pas revenir à l'écran précédent.

Affichage de la zone de sécurité

Dans les voitures, des éléments logiciels et matériels tels que les barres système et les encoches d'écran peuvent contredire les hypothèses faites par les applications développées principalement pour les appareils mobiles. Le mode de compatibilité résout ce problème en veillant à ce que les applications soient affichées dans une zone sécurisée.

Mise à l'échelle de la densité

Étant donné que la distance d'interaction dans les voitures est plus grande que pour les autres appareils à grand écran, les cibles tactiles et les tailles de police sont souvent plus petites que recommandées lorsque l'application est exécutée dans une voiture. Le mode de compatibilité permet aux OEM de spécifier un facteur de scaling PPP utilisé lors de l'affichage des applications.

Cycle de vie d'une activité

Comme décrit dans la section Créer des applications à utiliser à l'arrêt pour Android Automotive OS, le système d'exploitation bloque automatiquement les activités de votre application lorsque la voiture passe en mode Voiture afin d'éviter toute distraction pour le conducteur. Sur les appareils avec mode de compatibilité, l'UI bloquante de l'OEM ne doit pas être transparente. Votre application n'est donc plus visible et passe à l'état de cycle de vie Arrêtée lorsqu'elle est bloquée.

Configurer le mode de compatibilité

Par défaut, les activités de votre application sont exécutées en mode de compatibilité lorsque l'appareil le prend en charge. Les activités ne s'exécutent pas en mode de compatibilité dans les cas suivants:

  • Lorsqu'un élément <uses-feature> pour la fonctionnalité android.hardware.type.automotive est présent dans le fichier manifeste:
<application ...>
  ...
  <uses-feature android:name="android.hardware.type.automotive" ...>
  ...
</application>
  • Si un élément de fichier manifeste <activity> contient l'élément <meta-data> suivant:
<meta-data android:name="distractionOptimized" android:value="true">

Si l'une de ces conditions s'applique à votre application, mais que vous préférez que vos activités s'exécutent en mode de compatibilité d'affichage, vous pouvez ajouter l'élément <meta-data> suivant dans le fichier manifeste de votre application:

<application ...>
  ...
  <meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
  ...
</application>

Tester votre application en mode compatibilité

Pour tester votre application en mode de compatibilité, vous pouvez utiliser les images système génériques avec le mode de compatibilité.

Déterminer la compatibilité de l'appareil

Les appareils compatibles avec le mode de compatibilité d'Android Automotive OS doivent déclarer la fonctionnalité système android.software.car.display_compatibility. Pour savoir quels appareils sont compatibles avec cette fonctionnalité, vous pouvez utiliser le catalogue d'appareils de la Play Console.