Z tego dokumentu dowiesz się, jak deweloperzy aplikacji innych firm mogą dodawać precyzyjne linki do aplikacji multimedialnych AAOS. Precyzyjne linki do multimediów umożliwiają otwieranie aplikacji AAOS Media za pomocą precyzyjnych linków w taki sam sposób jak na urządzeniu mobilnym.
Obsługiwane wersje
Aby pobrać najnowszą obsługiwaną wersję, zapoznaj się z najnowszymi elementami kompilacji.
CarMediaApp.apk
TestMediaApp.apk
Jak to działa
Gdy precyzyjny link zostanie otwarty w AAOS, otworzy aplikację multimedialną, która obsługuje dany schemat. Aplikacja do multimediów dekoduje adres URL, tworząc intencję Media z informacjami z tego linku, a następnie używa tej intencji do otwarcia ekranu multimediów.
Implementacja obsługująca nowe intencje i nowe dodatki:
Udostępnia zaktualizowany format intencji, które mogą być obsługiwane przez Media, zewnętrznym deweloperom, aby mogli wysyłać niezbędne informacje za pomocą intencji do Mediów.
Obsługuje intencje z aplikacji innych firm, które zawierają określony element multimedialny lub zapytanie wyszukiwania, a następnie otwiera stronę z żądanymi informacjami w Mediach.
Deweloperzy zewnętrzni są odpowiedzialni za zaktualizowanie aplikacji, aby można było wywołać ją za pomocą intencji URI internetowego i przesłać niezbędne informacje do Media za pomocą intencji.
Wymagania dotyczące aplikacji innych firm
Przykładem jest TmaTrampolineActivity
w aplikacji TestMediaApp
.
Krok 1
Deweloperzy muszą mieć aktywność podobną do TmaTrampolineActivity
w TestMediaApp
. Aby tworzyć precyzyjne linki, ta aktywność musi mieć w manifeście filtr intencji. Ten filtr intencji powinien zawierać wszystkie adresy URL, które mają być obsługiwane zgodnie z opisem w artykule Dodawanie filtrów intencji dla linków przychodzących.
Zalecamy, aby filtr intencji zawierał schematy i hosty używane przez aplikację na telefon, aby mieć pewność, że precyzyjne linki działają na różnych platformach.
<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>
Krok 2
W ramach tej czynności aplikacja Media pobiera informacje z linku i tworzy dla niej intencję.
Media obsługuje 2 funkcje. Pierwsza funkcja otwiera element multimediów z określonym elementem multimedialnym, a druga wyświetla wyniki zapytania wyszukiwania. Identyfikator zasobu multimedialnego lub ciąg zapytania wyszukiwania musi być uwzględniony w zawartości dodatkowej intencji.
Informacje o zamiarze
Aby korzystać z tej funkcji, deweloperzy muszą zainstalować najnowszą wersję pakietu Media, aby obsługiwać działanie Intent, ACTION_MEDIA_TEMPLATE_V2
. Akcja intencji i dodatkowe informacje o intencji są zawarte w klasie MediaIntentExtras.java
. Te dodatkowe elementy można dodać do intencji.
Nazwa dodatkowa | Wartość | Opis |
---|---|---|
EXTRA_KEY_MEDIA_COMPONENT | Ciąg tekstowy dla komponentu componentName | Klucz używany jako pole dodatkowe typu string z parametrem ACTION_MEDIA_TEMPLATE_V2, aby określić usługę MediaBrowserService, w której użytkownik chce uruchomić multimedia. Jeśli nie zostanie określone, zostanie otwarte aktywne źródło multimediów. |
EXTRA_KEY_MEDIA_ID | Identyfikator multimediów | Klucz używany jako pole dodatkowe typu ciąg znaków, w którym ACTION_MEDIA_TEMPLATE_V2 określa element multimedialny, który powinien być wyświetlany w widoku Przeglądaj. Musi być zgodny z identyfikatorami użytymi w interfejsie MediaBrowserServiceCompat API. |
EXTRA_KEY_SEARCH_QUERY | Zapytanie | Klucz używany jako pole dodatkowe typu string z parametrem ACTION_MEDIA_TEMPLATE_V2, aby określić zapytanie wyszukiwania do wysłania do bieżącej usługi MediaBrowserService lub do tej określonej za pomocą parametru EXTRA_KEY_MEDIA_COMPONENT. |
EXTRA_KEY_SEARCH_ACTION | Liczba całkowita:
|
Klucz używany jako pole dodatkowe typu int z parametrem ACTION_MEDIA_TEMPLATE_V2 do określania działania, które ma wykonać Media po załadowaniu zapytania wyszukiwania.
Wartość to EXTRA_VALUE_NO_SEARCH_ACTION lub EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH. Tego dodatku należy używać tylko z poleceniem EXTRA_KEY_SEARCH_QUERY. Jeśli nie zostanie określony, po załadowaniu wyników wyszukiwania nie zostaną podjęte żadne dalsze działania. |
Przypadki szczególne
Jeśli do intencji dodano kilka dodatków, np. EXTRA_KEY_MEDIA_ID
i EXTRA_KEY_SEARCH_QUERY
, bieżąca implementacja najpierw obsłuży identyfikator media, a dopiero gdy identyfikator media będzie pusty, Media wykona zapytanie wyszukiwania.
Test
Po zakończeniu integracji aplikacji do obsługi multimediów innej firmy użyj polecenia adb
, aby wysłać precyzyjny link. Media z pożądanymi informacjami. Na przykład w przypadku TestMediaApp
:
adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"