Modo de compatibilidad del SO Android Automotive

Para simplificar el proceso de llevar apps para dispositivos móviles a los dispositivos con el SO Android Automotive, algunos vehículos incluyen un modo de compatibilidad que aborda los problemas habituales que se presentan cuando se llevan apps para dispositivos móviles existentes a los vehículos.

Si bien el programa de apps para dispositivos móviles listas para usar en automóviles usa este modo de compatibilidad, las apps que no forman parte de ese programa también pueden ejecutarse en él.

Información sobre el modo de compatibilidad

El modo de compatibilidad del SO Android Automotive es una función de software disponible en algunos vehículos para mejorar la experiencia del usuario de las apps compiladas para dispositivos móviles cuando se ejecutan en el SO Android Automotive.

Navegación hacia atrás

A diferencia de otros factores de forma, no es necesario que los dispositivos con el SO Android Automotive tengan una indicación visual de atrás de hardware o software. El modo de compatibilidad aborda esto requiriendo una indicación de atrás proporcionada por el sistema, ya sea un botón de hardware, un botón de software, un gesto o cualquier otra cosa. Esto elimina la necesidad de que las apps garanticen la navegabilidad solo a través de sus propios elementos de la IU.

El usuario puede volver a la pantalla anterior aunque la app no proporcione una indicación visual de atrás en su IU.
El usuario no puede volver a la pantalla anterior.

Renderización de área segura

En los automóviles, los elementos de software y hardware, como las barras del sistema y los cortes de pantalla, pueden no cumplir con las suposiciones de las apps desarrolladas principalmente para dispositivos móviles. El modo de compatibilidad aborda esto, ya que garantiza que las apps se rendericen en un área segura.

Escalamiento de densidad

Debido a que la distancia de interacción en los automóviles es mayor que con otros dispositivos con pantalla grande, los objetivos táctiles y los tamaños de fuente suelen ser más pequeños de lo recomendado cuando se ejecutan en un automóvil. El modo de compatibilidad aborda este problema, ya que permite que los OEM especifiquen un factor de escalamiento de DPI que se usa cuando se renderizan apps.

Ciclo de vida de la actividad

Como se describe en Cómo compilar apps para usar en el SO Android Automotive con el vehículo estacionado, el SO bloquea automáticamente las actividades de tu app cuando el automóvil entra en modo de conducción para reducir las distracciones para el conductor. En dispositivos con modo de compatibilidad, la IU de bloqueo del OEM no debe ser transparente, por lo que tu app ya no es visible y pasa al estado de ciclo de vida Detenido cuando se bloquea.

Cómo configurar el modo de compatibilidad

De forma predeterminada, las actividades de tu app se ejecutan en el modo de compatibilidad cuando el dispositivo lo admite. Las actividades no se ejecutan en el modo de compatibilidad en los siguientes casos:

  • Cuando hay un elemento <uses-feature> para la función android.hardware.type.automotive en el manifiesto:
<application ...>
  ...
  <uses-feature android:name="android.hardware.type.automotive" ...>
  ...
</application>
  • Si hay algún elemento del manifiesto <activity> que contenga el siguiente elemento <meta-data>:
<meta-data android:name="distractionOptimized" android:value="true">

Si alguno de estos casos se aplica a tu app, pero prefieres que tus actividades se ejecuten en el modo de compatibilidad de la pantalla, puedes agregar el siguiente elemento <meta-data> al manifiesto de tu app:

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

Prueba tu app en el modo de compatibilidad

Para probar tu app en el modo de compatibilidad, puedes usar las imágenes del sistema genéricas con el modo de compatibilidad.

Cómo determinar la compatibilidad de los dispositivos

Los dispositivos que admiten el modo de compatibilidad del SO Android Automotive deben declarar la función del sistema android.software.car.display_compatibility. Para descubrir qué dispositivos admiten esta función, puedes usar el Catálogo de dispositivos de Play Console.