Interfejs radia jest zaimplementowany jako niezależna aplikacja. Instrukcje dotyczące integrowania interfejsu radia z sprzętem radiowym znajdziesz w artykule Implementowanie radia.
W sekcji poniżej opisujemy, jak zintegrować interfejs radia z aplikacją Media, aby zapewnić użytkownikom płynne działanie, które umożliwi im interakcję ze źródłami multimediów i radiem tak, jakby były one jedną aplikacją.
User flow przełączania źródeł multimediów
Poniższy diagram ilustruje, jak implementacja referencyjna radia i aplikacji Media implementuje user flow przełączania aplikacji.

Rysunek 1. User flow przełączania źródeł multimediów
Aby zapewnić płynne przejście między radiem a innymi aplikacjami w aplikacji Media, biblioteka car-media-common definiuje intencje Androida, których można użyć do uruchomienia selektora źródła multimediów. W AOSP ten selektor jest zaimplementowany w programie uruchamiającym aplikacje, który wyświetla ten sam interfejs do uruchamiania aplikacji, ale jest filtrowany tak, aby wyświetlać tylko źródła multimediów.
Producenci OEM mogą użyć bieżącej implementacji programu uruchamiającego aplikacje w niezmienionej postaci lub zaimplementować dostosowany selektor źródła multimediów.
Selektor może działać w 2 trybach:
- Normalny przepływ. Po użyciu selektora wybrane źródło jest wyświetlane w aplikacji Media, dzięki czemu użytkownik może przeglądać jego zawartość.
- Jako przełącznik. Selektor służy do przełączania źródeł, ale multimedia nie są wyświetlane użytkownikowi. Dotyczy to ikony selektora na stronie głównej. Po wybraniu źródła użytkownikowi wyświetla się ostatni poprzedni ekran (w tym przypadku strona główna).
Intencję używaną do przełączania się między źródłami multimediów można uzyskać za pomocą metody MediaSource#getSourceSelectorIntent(), która akceptuje wartość logiczną popup zwracającą intencję uruchomienia każdego z opisanych powyżej przepływów.
Rzeczywiste intencje są zdefiniowane w packages/apps/Car/libs/car-media-common/res/values/config.xml. Aby dostosować tę konfigurację, użyj nakładek w czasie kompilacji.
Zastępowanie aplikacji Radio
Ponieważ aplikacja Radio implementuje przeglądanie multimediów i sesję multimediów, jest ona wyświetlana w programie uruchamiającym aplikacje. Aby zapobiec uruchomieniu aplikacji Media, gdy użytkownik kliknie ikonę, wymagane są 2 elementy. Aplikacja Radio musi:
- mieć aktywność launcher ;
- być zadeklarowana jako źródło niestandardowe. Aby to zrobić, dodaj nazwę komponentu do klucza
custom_media_packageswcar-media-common/res/values/config.xml.
Ograniczenia dotyczące UX podczas jazdy
Aplikacja Media musi przestrzegać wszystkich ograniczeń dotyczących UX podczas jazdy. Aby to zrobić, aplikacja Media musi nasłuchiwać CarUXRestrictionManager i implementować wszystkie jego zasady.
- Aplikacja Media musi połączyć się z biblioteką Car i uzyskać instancję CarUXRestrictionManager.
- Aplikacja Media musi subskrybować aktualizacje na liście CarUxRestrictions i implementować je zgodnie z dokumentacją.
- W przypadku aplikacji Media szczególnie ważne są te ograniczenia:
UX_RESTRICTIONS_NO_SETUP. W tym przypadku przepływ logowania musi być wyłączony.UX_RESTRICTIONS_LIMIT_STRING_LENGTH. Komunikaty o błędach i inne teksty dostarczane przez aplikacje multimedialne muszą być ograniczone do podanej długości.