Os desenvolvedores de apps de mídia podem usar a biblioteca Car App (CAL) para criar a interface do usuário do app. Essa biblioteca oferece uma alternativa ao método convencional de
fornecer dados por MediaBrowserService para a renderização do CarMediaApp.
Os apps de mídia com modelos baseados em CAL permitem que os desenvolvedores personalizem a interface do usuário para
corresponder à identidade da marca. Ao contrário dos apps baseados em CAL, os apps de mídia convencionais que usam
MediaBrowserService e CarMediaApp não permitem que os desenvolvedores personalizem o estilo
da interface. Esse estilo é controlado pelo OEM.
Os desenvolvedores podem criar um app de mídia baseado em modelo compatível com o Android Auto e o Android Automotive OS (AAOS).
Integrar
O suporte para apps de mídia baseados em modelos CAL requer integração de plataforma.
Pré-requisitos
Os controles alternativos de apps permitem que eles toquem áudio em segundo plano enquanto oferecem controles otimizados para evitar distrações.
Os controles alternativos de apps estão disponíveis no Car-apps-release-14 e em versões mais recentes.
- Permite que os apps reproduzam áudio em segundo plano.
- Permite que apps que não usam
MediaBrowserServiceainda sejam controlados por um card de mídia do sistema.
A plataforma precisa declarar suporte para
com.android.car.background_audio_while_driving.
Mudanças na plataforma
O CarMediaApp da plataforma precisa:
- Ter permissão para ativar a atividade de CAL de um app de mídia. Confira um exemplo de código.
- Inicie a atividade do CAL em vez da Central de mídia em dispositivos compatíveis com o recurso
android.software.car.templates_host.media. Confira um exemplo de código.
A Tela de início do carro da plataforma precisa:
- Mostrar apenas um ícone do app no Car Launcher depois que o
CarMediaAppativa a atividade CAL de um app de mídia. - Detecte a transmissão
PACKAGE_CHANGEDe atualize a lista de apps. Confira um exemplo de código.
O card ou widget de mídia da plataforma precisa:
- Mostrar o áudio em reprodução no card de mídia.
Configuração do build
A plataforma precisa declarar suporte para
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>
Teste
Teste a compatibilidade da plataforma de teste com apps de mídia baseados em CAL usando TestMediaCalApp. O TestMediaCalApp é um app de mídia criado com a biblioteca Car App, que o host de modelos renderiza na plataforma.
Instale
TestMediaCalApp.apk.Abra o app chamado Test Media3 CAL App no seu acesso rápido:
Figura 1. Teste o app CAL do Media3 no Car Launcher.
Depois que o app for iniciado, volte ao iniciador e observe que o nome do app mudou para Test Media CAL App. O app anterior chamado Test Media3 CAL App não vai mais aparecer:
Figura 2. Teste o app Media CAL no Car Launcher.
Abra o Test Media CAL App e toque em uma música na playlist para tocar:
Figura 3. Visualização de playlist renderizada pelo App Host.
Observe que a visualização "Tocando agora" (
MediaPlaybackTemplate) é aberta:
Figura 4.Visualização "Em reprodução" renderizada pelo App Host.
Observe que os metadados do recurso "Tocando agora" aparecem no widget de mídia da tela inicial:
Figura 5. Card de mídia.