Lo scopo di questo documento è descrivere in che modo gli sviluppatori di app di terze parti possono aggiungere link diretti alle app multimediali AAOS. I link diretti ai contenuti multimediali ti consentono di aprire le app AAOS Media tramite link diretti, come su un dispositivo mobile.
Versioni supportate
Per ottenere la versione supportata più recente, consulta gli elementi di compilazione più recenti.
CarMediaApp.apk
TestMediaApp.apk
Come funziona
Quando un link diretto viene aperto su AAOS, si apre l'app multimediale che gestisce il particolare schema. L'app multimediale decodifica quindi l'URL, creando un intent Media con le informazioni contenute nel link e utilizzandolo per aprire la schermata multimediale.
L'implementazione per supportare nuovi intent e nuovi extra:
Fornisce un formato aggiornato degli intent che possono essere gestiti dagli sviluppatori di terze parti per i media in modo che possano inviare le informazioni necessarie tramite l'intent ai media.
Gestisce le intenzioni delle app di terze parti che contengono un elemento multimediale specifico o una query di ricerca, quindi apre una pagina con le informazioni richieste in Media.
Gli sviluppatori di terze parti sono responsabili dell'aggiornamento della propria app in modo che possa essere invocata dagli intent URI web e inviare le informazioni necessarie ai media tramite un intent.
Requisito per le app di terze parti
TmaTrampolineActivity
nell'app TestMediaApp
è fornito come esempio.
Passaggio 1
Gli sviluppatori devono avere un'attività simile a TmaTrampolineActivity
in
TestMediaApp
. Per il link diretto, questa attività richiede un filtro per intent nel
file manifest. Questo filtro per intent deve includere tutti gli URL da gestire come descritto in Aggiungere filtri per intent per i link in entrata.
Ti consigliamo di includere nel filtro intent gli schemi e gli host utilizzati dall'app per la versione per smartphone per assicurarti che i link diretti funzionino su più piattaforme.
<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>
Passaggio 2
In questa attività, l'app Media recupera le informazioni dal link e crea un'intenzione per i contenuti multimediali.
Media supporta due funzioni. La prima funzione serve ad aprire un elemento multimediale con un elemento multimediale specifico e la seconda a mostrare i risultati di una query di ricerca. L'ID elemento multimediale o la stringa della query di ricerca deve essere incluso nell'intent extra.
Informazioni sull'intenzione
Per utilizzare questa funzionalità, gli sviluppatori devono installare la versione più recente di Media per supportare l'azione Intent, ACTION_MEDIA_TEMPLATE_V2
. L'azione Intent e i seguenti extra intent sono inclusi nella classe MediaIntentExtras.java
. Questi extra possono essere aggiunti all'intent.
Nome extra | Valore | Descrizione |
---|---|---|
EXTRA_KEY_MEDIA_COMPONENT | Stringa per componentName | Chiave utilizzata come campo extra di stringa con ACTION_MEDIA_TEMPLATE_V2 per specificare il MediaBrowserService su cui l'utente vuole avviare i contenuti multimediali. Se non specificato, viene aperta l'origine multimediale attiva. |
EXTRA_KEY_MEDIA_ID | ID elemento multimediale | Chiave utilizzata come campo extra di stringa con ACTION_MEDIA_TEMPLATE_V2 specifica l'elemento multimediale da visualizzare nella vista Sfoglia. Deve corrispondere agli ID utilizzati nell'API MediaBrowserServiceCompat. |
EXTRA_KEY_SEARCH_QUERY | Query di ricerca | Chiave utilizzata come campo extra di stringa con ACTION_MEDIA_TEMPLATE_V2 per specificare la query di ricerca da inviare all'attuale MediaBrowserService o a quello specificato con EXTRA_KEY_MEDIA_COMPONENT |
EXTRA_KEY_SEARCH_ACTION | Numero intero:
|
Chiave utilizzata come campo extra int con ACTION_MEDIA_TEMPLATE_V2
per specificare l'azione da eseguire per i contenuti multimediali dopo il caricamento della query di ricerca.
Il valore deve essere EXTRA_VALUE_NO_SEARCH_ACTION o EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH. Questo extra deve essere utilizzato solo con EXTRA_KEY_SEARCH_QUERY. Se questo extra non è specificato, non viene eseguita alcuna azione aggiuntiva dopo il caricamento dei risultati di ricerca. |
Casi particolari
Se all'intent vengono aggiunti più extra contemporaneamente, ad esempio se EXTRA_KEY_MEDIA_ID
e EXTRA_KEY_SEARCH_QUERY
sono inclusi in questo intent,
l'implementazione attuale gestisce prima l'ID media e solo quando l'ID media è vuoto, Media esegue la query di ricerca.
Test
Una volta completata l'integrazione dell'app multimediale di terze parti, utilizza un comando adb
per inviare un link diretto. I contenuti multimediali si aprono con le informazioni desiderate. Ad esempio, questo
comando per TestMediaApp
:
adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"