El objetivo de este documento es describir cómo los desarrolladores de apps de terceros pueden agregar vínculos directos a apps de contenido multimedia de AAOS. Los vínculos directos multimedia te permiten abrir apps de AAOS Media a través de vínculos directos de la misma manera que en un dispositivo móvil.
Versiones compatibles
Para obtener la versión compatible más reciente, consulta los artefactos de compilación más recientes.
CarMediaApp.apk
TestMediaApp.apk
Cómo funciona
Cuando se abre un vínculo directo en AAOS, se abre la app de música que controla el esquema en particular. Luego, la app de música decodifica la URL, crea un intent de música con la información de ese vínculo y, luego, usa ese intent para abrir la pantalla de música.
La implementación para admitir intents y extras nuevos:
Proporciona un formato actualizado de los intents que Media puede controlar a los desarrolladores externos para que puedan enviar la información necesaria a través del intent a Media.
Controla los intents de apps de terceros que contienen un elemento multimedia específico o una búsqueda y, luego, abre una página con la información solicitada en Media.
Los desarrolladores externos son responsables de actualizar su app para que los intents de URI web puedan invocarla y enviar la información necesaria al contenido multimedia a través de un intent.
Requisitos para las apps de terceros
El TmaTrampolineActivity
en la app de TestMediaApp
se proporciona como ejemplo.
Paso 1
Los desarrolladores deben tener una actividad similar a TmaTrampolineActivity
en TestMediaApp
. Para establecer un vínculo directo, esta actividad necesita un filtro de intents en el manifiesto. Este filtro de intents debe incluir todas las URLs que se controlarán como se describe en Cómo agregar filtros de intents para vínculos entrantes.
Te sugerimos que el filtro de intents incluya los esquemas y hosts que usa la app de la versión para teléfonos para asegurarse de que los vínculos directos funcionen en todas las plataformas.
<activity android:name=".automotive.TmaTrampolineActivity"
android:exported="true">
<intent-filter android:label="TmaTrampolineActivity_label">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="app"
android:host="com.android.car.media.testmediaapp"/>
</intent-filter>
</activity>
Paso 2
En esta actividad, la app de Media recupera la información del vínculo y crea un intent para Media.
El elemento Media admite dos funciones. La primera función es abrir un elemento multimedia con un elemento multimedia específico y la segunda es mostrar los resultados de una búsqueda. El ID del elemento multimedia o la cadena de búsqueda deben incluirse en el intent adicional.
Información del intent
Para usar esta función, los desarrolladores deben instalar la versión más reciente de Media para admitir la acción de intent, ACTION_MEDIA_TEMPLATE_V2
. La acción de intent y los siguientes extras de intent se incluyen en la clase MediaIntentExtras.java
. Estos elementos adicionales se pueden agregar al intent.
Nombre adicional | Valor | Descripción |
---|---|---|
EXTRA_KEY_MEDIA_COMPONENT | Cadena para componentName | Clave que se usa como un campo adicional de cadena con ACTION_MEDIA_TEMPLATE_V2 para especificar el MediaBrowserService en el que el usuario desea iniciar el contenido multimedia. Si no se especifica, se abre la fuente de contenido multimedia activa. |
EXTRA_KEY_MEDIA_ID | ID de medios | La clave que se usa como campo adicional de cadena con ACTION_MEDIA_TEMPLATE_V2 especifica el elemento multimedia que se debe mostrar en la vista Explorar. Debe coincidir con los IDs que se usan en la API de MediaBrowserServiceCompat. |
EXTRA_KEY_SEARCH_QUERY | Búsqueda | Clave que se usa como campo adicional de cadena con ACTION_MEDIA_TEMPLATE_V2 para especificar la búsqueda que se enviará al MediaBrowserService actual o al especificado con EXTRA_KEY_MEDIA_COMPONENT. |
EXTRA_KEY_SEARCH_ACTION | Entero:
|
Es una clave que se usa como un campo adicional int con ACTION_MEDIA_TEMPLATE_V2 para especificar la acción que debe realizar el contenido multimedia después de que se carga la búsqueda.
El valor es uno de EXTRA_VALUE_NO_SEARCH_ACTION o EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH. Este valor adicional solo debe usarse con EXTRA_KEY_SEARCH_QUERY. Si no se especifica este elemento adicional, no se realizará ninguna otra acción después de que se carguen los resultados de la búsqueda. |
Casos especiales
Si se agregan varios servicios adicionales al intent, como si se incluyen EXTRA_KEY_MEDIA_ID
y EXTRA_KEY_SEARCH_QUERY
en este intent, la implementación actual controla primero el ID de contenido multimedia y solo cuando el ID de contenido multimedia está vacío, Media ejecuta la búsqueda.
Prueba
Una vez que se complete la integración de la app de música de terceros, usa un comando adb
para enviar un vínculo directo. Se abrirá el contenido multimedia con la información deseada. Por ejemplo, este
comando para TestMediaApp
:
adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"