Внедрить радио с помощью СМИ

Пользовательский интерфейс Radio реализован как независимое приложение. Инструкции по интеграции пользовательского интерфейса радио с радиооборудованием можно найти на странице Реализация радио .

В следующем разделе описывается, как интегрировать пользовательский интерфейс Radio с Media, чтобы предоставить пользователям удобство взаимодействия, позволяющее пользователям взаимодействовать с источниками мультимедиа и радио, как если бы они были одним приложением.

Последовательность действий пользователя при переключении медиа-источника

На следующей диаграмме показано, как эталонная реализация Radio and Media реализует пользовательский поток переключения приложений.

Последовательность действий пользователя при переключении медиа-источника

Рисунок 1. Пользовательский процесс переключения источника мультимедиа

Чтобы обеспечить плавный переход между радио и другими приложениями в мультимедиа, car-media-common определяет намерения Android, которые можно использовать для запуска средства выбора источника мультимедиа. В AOSP этот селектор реализован в средстве запуска приложений, предоставляя тот же пользовательский интерфейс для запуска приложений, но с фильтрацией для отображения только источников мультимедиа.

OEM-производители могут принять текущую реализацию App Launcher как есть или реализовать индивидуальный выбор источника мультимедиа.

Селектор может работать в двух режимах:

  • Нормальный поток. После использования селектора выбранный источник отображается в разделе «Медиа», и пользователь может просматривать его содержимое.
  • В качестве переключателя. Селектор используется для переключения источников, но носитель не отображается пользователю. Это относится и к значку «Селектор» на главной странице. После выбора источника пользователю отображается последний предыдущий экран (в данном случае — домашняя страница).

Намерение, используемое для переключения между источниками мультимедиа, можно получить из метода MediaSource#getSourceSelectorIntent() , который принимает popup логическое значение, возвращающее намерение запустить каждый из описанных выше потоков.

Фактические намерения определены в packages/apps/Car/libs/car-media-common/res/values/config.xml . Чтобы настроить эту конфигурацию, используйте наложения во время сборки.

Замените приложение Радио

Учитывая, что приложение «Радио» реализует просмотр мультимедиа и сеанс мультимедиа, радио отображается в панели запуска приложений. Чтобы предотвратить запуск мультимедиа, когда пользователь щелкает значок, необходимы два элемента. Радио должно :

  • Иметь активность запуска .
  • Быть объявленным как пользовательский источник . Для этого добавьте имя компонента в ключ custom_media_packages в car-media-common/res/values/config.xml .

Ограничения на вождение UX

СМИ должны соблюдать все ограничения по отвлечению внимания от UX. Для этого Media должен прослушивать CarUXRestrictionManager и реализовать все его политики.

  • Медиа должен подключиться к библиотеке Car и получить экземпляр CarUXRestrictionManager .
  • СМИ должны подписаться на обновления в списке CarUxRestrictions и внедрять их в соответствии с документацией.
  • Особенно важными для СМИ являются:
    • UX_RESTRICTIONS_NO_SETUP . В этом случае поток входа необходимо отключить.
    • UX_RESTRICTIONS_LIMIT_STRING_LENGTH . Сообщения об ошибках и другой текст, предоставляемый мультимедийными приложениями, должны быть ограничены заданной длиной.