Разработчики медиаприложений могут использовать библиотеку Car App Library (CAL) для создания пользовательского интерфейса своих приложений. Эта библиотека предлагает альтернативу традиционному методу предоставления данных через MediaBrowserService для отображения CarMediaApp .
Приложения для работы с мультимедиа на основе CAL позволяют разработчикам настраивать пользовательский интерфейс в соответствии с фирменным стилем. В отличие от приложений на основе CAL, обычные приложения для работы с мультимедиа, использующие MediaBrowserService и CarMediaApp не позволяют разработчикам настраивать стиль пользовательского интерфейса; этот стиль контролируется производителем оборудования.
Разработчики могут создавать шаблонные медиаприложения , поддерживающие Android Auto и Android Automotive OS (AAOS).
Интегрировать
Для поддержки медиаприложений, использующих шаблоны CAL, требуется интеграция с платформой.
Предварительные требования
Функция Alternative App Controls позволяет приложениям воспроизводить звук в фоновом режиме, предоставляя при этом оптимизированные для отвлечения внимания элементы управления этим звуком.
Функция «Альтернативное управление приложениями» доступна в версиях Car-apps-release-14 и выше.
- Позволяет приложениям воспроизводить аудио в фоновом режиме.
- Позволяет управлять приложениями, не использующими
MediaBrowserService, через системную карту памяти.
Платформа должна объявить о поддержке
com.android.car.background_audio_while_driving.
Изменения платформы
CarMediaApp на платформе должно:
- Необходимо иметь разрешение на включение активности CAL для медиаприложения. См. пример кода .
- Запускайте действие CAL вместо Media Center на устройствах, поддерживающих функцию
android.software.car.templates_host.media. См. пример кода .
Приложение для запуска автомобилей на платформе должно:
- После того, как
CarMediaAppактивирует действие CAL для медиаприложения, в Car Launcher будет отображаться только один значок приложения. - Прослушивайте широковещательное сообщение
PACKAGE_CHANGEDи обновляйте список приложений. См. пример кода .
Медиакарта или виджет платформы должны:
- Отобразить воспроизводимый звук на карте памяти.
Конфигурация сборки
Платформа должна объявить о поддержке android.software.car.templates_host.media :
<permissions>
<!-- Declare support for templated applications. -->
<feature name="android.software.car.templates_host" />
<!-- This feature indicates that the system supports apps that use the
Car App Library Media category -->
<feature name="android.software.car.templates_host.media"/>
</permissions>
Тест
Протестируйте поддержку платформы для медиаприложений на основе CAL с помощью TestMediaCalApp . TestMediaCalApp — это медиаприложение, созданное с использованием Car App Library, которое Templates Host отображает на платформе.
Установите файл
TestMediaCalApp.apk.Откройте приложение Test Media3 CAL App на панели запуска:

Рисунок 1. Тест приложения Media3 CAL в программе Car Launcher.
После запуска приложения вернитесь в меню запуска и убедитесь, что его название изменилось на Test Media CAL App . Предыдущее приложение под названием Test Media3 CAL App больше не должно отображаться.

Рисунок 2. Тестовое приложение Media CAL в программе Car Launcher.
Откройте приложение Test Media CAL и воспроизведите любую песню, выбрав её в плейлисте:

Рисунок 3. Отображение списка воспроизведения, созданного хостом приложения.
Обратите внимание, что открылось окно воспроизведения (
MediaPlaybackTemplate):
Рисунок 4. Отображение текущего воспроизводимого контента, созданное хостом приложения.
Обратите внимание, что метаданные о текущем воспроизведении отображаются в виджете мультимедиа на главном экране:

Рисунок 5. Карта памяти.