Interfejs radia jest implementowany jako niezależna aplikacja. Instrukcje dotyczące integracji interfejsu radia z sprzętem radiowym znajdziesz w artykule Wdrażanie radia.
W tej sekcji opisano, jak zintegrować interfejs Radio z Media, aby zapewnić użytkownikom płynne działanie, które umożliwia im korzystanie ze źródeł mediów i radia tak, jakby były to pojedyncze aplikacje.
Schemat działań użytkownika związany z przełączaniem źródeł multimediów
Poniższy diagram pokazuje, jak implementacja referencyjna Radio and Media realizuje przepływ danych podczas przełączania aplikacji.
Rysunek 1. Schemat działań użytkownika związany z przełączaniem źródeł multimediów
Aby zapewnić płynne przejście między Radiem a innymi aplikacjami w Mediach, biblioteka car-media-common
definiuje intencje Androida, które można wykorzystać do uruchomienia selektora źródeł multimediów. W AOSP ten selektor jest implementowany w programie uruchamiającym aplikacje i prezentuje ten sam interfejs do uruchamiania aplikacji, ale z filtrem wyświetlającym tylko źródła multimediów.
Producenci OEM mogą skorzystać z obecnej implementacji App Launcher bez zmian lub zaimplementować niestandardowy selektor źródeł multimediów.
Selektor może działać w 2 trybach:
- Normalny przepływ. Po wybraniu źródła w sekcji „Media” wyświetla się wybrane źródło, aby użytkownik mógł przeglądać jego zawartość.
- Jako przełącznik. Selektor służy do przełączania źródeł, ale media nie są wyświetlane użytkownikowi. Dotyczy to ikony selektora na stronie głównej. Po wybraniu źródła użytkownikowi wyświetla się ostatnio wyświetlany 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 przyjmuje wartość logiczną popup
zwracającą intencję uruchomienia każdego z opisanych powyżej procesów.
Rzeczywiste intencje są definiowane w pliku 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
Aplikacja Radio obsługuje przeglądanie multimediów i sesję multimediów, więc jest widoczna w Menu z aplikacjami. Aby zapobiec uruchamianiu Media po kliknięciu ikony przez użytkownika, wymagane są 2 elementy. Radio musi:
- Aktywność launcher.
- być zadeklarowane jako źródło niestandardowe; Aby to zrobić, dodaj nazwę komponentu do klucza
custom_media_packages
w sekcjicar-media-common/res/values/config.xml
.
Ograniczenia dotyczące jazdy w UX
Materiały muszą być zgodne ze wszystkimi ograniczeniami dotyczącymi rozpraszania uwagi podczas jazdy. Aby to zrobić, Media musi odbierać wiadomości od CarUXRestrictionManager i wdrażać wszystkie jego zasady.
- Media muszą połączyć się z biblioteką Car i uzyskać instancję CarUXRestrictionManager.
- Media muszą subskrybować aktualizacje na liście CarUxRestrictions i wdrażać je zgodnie z dokumentacją.
- W przypadku mediów szczególnie ważne są:
UX_RESTRICTIONS_NO_SETUP
. W takim przypadku proces logowania musi zostać wyłączony.UX_RESTRICTIONS_LIMIT_STRING_LENGTH
. Komunikaty o błędach i inne teksty wyświetlane przez aplikacje multimedialne muszą mieć ograniczoną długość.