Чтобы упростить процесс установки мобильных приложений на устройства с ОС 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.