Режим совместимости с автомобильной ОС Android

Чтобы упростить процесс установки мобильных приложений на устройства с ОС Android Automotive, в некоторых автомобилях предусмотрен режим совместимости, который устраняет распространенные проблемы, возникающие при установке существующих мобильных приложений на автомобили.

Хотя этот режим совместимости используется программой мобильных приложений Car Ready , в нем также могут работать приложения, не являющиеся частью этой программы.

Понимание режима совместимости

Режим совместимости с ОС Android Automotive — это программная функция, доступная на некоторых автомобилях, позволяющая улучшить взаимодействие с пользователем приложений, созданных для мобильных устройств, при запуске на ОС Android Automotive.

Обратная навигация

В отличие от других форм-факторов, устройствам Android Automotive OS не требуется наличие аппаратного или программного обеспечения. Режим совместимости решает эту проблему, требуя предоставления системой обратной возможности, будь то аппаратная кнопка, программная кнопка, жест или что-то еще. Это устраняет необходимость в приложениях обеспечивать навигацию исключительно с помощью собственных элементов пользовательского интерфейса.

Пользователь может вернуться к предыдущему экрану, даже если приложение не предоставляет возможности возврата в своем пользовательском интерфейсе.
Пользователь не может вернуться к предыдущему экрану.

Рендеринг безопасной области

В автомобилях элементы программного и аппаратного обеспечения, такие как системные панели и вырезы на дисплее, могут нарушать предположения, сделанные приложениями, разработанными в первую очередь для мобильных устройств. Режим совместимости решает эту проблему, гарантируя, что приложения отображаются в безопасной зоне.

Масштабирование плотности

Поскольку расстояние взаимодействия в автомобиле больше, чем на других устройствах с большим экраном, сенсорные объекты и размеры шрифта часто меньше рекомендуемых при работе на автомобиле. Режим совместимости решает эту проблему, позволяя OEM-производителям указывать коэффициент масштабирования DPI, используемый при рендеринге приложений.

Жизненный цикл активности

Как описано в разделе «Создание припаркованных приложений для Android Automotive OS» , ОС автоматически блокирует действия вашего приложения, когда автомобиль переходит в режим вождения, чтобы водитель не отвлекался. На устройствах с режимом совместимости пользовательский интерфейс блокировки OEM-производителя не должен быть прозрачным, чтобы ваше приложение больше не было видимым и при блокировке переходило в состояние остановленного жизненного цикла .

Настроить режим совместимости

По умолчанию действия вашего приложения выполняются в режиме совместимости, если устройство его поддерживает. Действия не запускаются в режиме совместимости в следующих случаях:

  • Если в манифесте присутствует элемент <uses-feature> для функции android.hardware.type.automotive :
<application ...>
  ...
  <uses-feature android:name="android.hardware.type.automotive" ...>
  ...
</application>
  • Если существует какой-либо элемент манифеста <activity> , который содержит следующий элемент <meta-data> :
<meta-data android:name="distractionOptimized" android:value="true">

Если что-либо из этого применимо к вашему приложению, но вы предпочитаете, чтобы ваши действия выполнялись в режиме совместимости с отображением, вы можете добавить следующий элемент <meta-data> в манифест вашего приложения:

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

Проверьте свое приложение в режиме совместимости.

Чтобы протестировать приложение в режиме совместимости, вы можете использовать общие образы системы с режимом совместимости .

Определить поддержку устройства

Устройства, поддерживающие режим совместимости с Android Automotive OS, должны декларировать системную функцию android.software.car.display_compatibility . Чтобы узнать, какие устройства поддерживают эту функцию, вы можете использовать каталог устройств Play Console.