Od 27 marca 2025 r. zalecamy używanie android-latest-release zamiast aosp-main do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Przykładowa aplikacja radiowa w języku Java (packages/apps/Car/Radio) służy jako implementacja referencyjna. Po uruchomieniu usługi aplikacji ta prosi menedżera radia o otwarcie tunera radiowego. Następnie aplikacja może wysyłać do Radio Tunera żądania, takie jak strojenie konkretnej stacji radiowej, częstotliwości lub następnej dostępnej stacji radiowej. Aplikacja otrzymuje aktualizacje z Menedżera radia i Radio Tunera w aplikacji Radio, takie jak bieżące informacje o programie, listy programów radiowych, konfiguracje i parametry zdefiniowane przez dostawcę. Aplikacja Radio obsługuje tylko radio AM i FM. Producenci OEM mogą zmodyfikować lub zastąpić aplikację Radio.
Menedżer radia
Gdy aplikacja poprosi Menedżera radia o otwarcie tunera, Menedżer radia (frameworks/base/core/java/android/hardware/radio/RadioManager.java) poprosi Usługę radia z nadawaniem (BRS) o otwarcie sesji tunera, a potem skonfiguruje sesję w Tunerze radia (frameworks/base/core/java/android/hardware/radio/RadioTuner.java), który zostanie zwrócony do aplikacji. Tuner radia definiuje interfejsy API (takie jak tune, step i cancel), które można wywoływać z aplikacji radiowych, oraz wysyła żądania do BRS. Metody wywołania zwrotnego (RadioTuner.Callback) zdefiniowane w Radio Tuner wysyłają do aplikacji informacje o interfejsie HAL radia DAB, takie jak bieżące informacje o programie, listy programów i parametry zdefiniowane przez dostawcę.
Usługa radia nadawczego
Usługa radia nadawczego (frameworks/base/services/core/java/com/android/server/broadcastradio) jest usługą klienta dla interfejsu HAL radia nadawczego. BRS koordynuje działanie wielu menedżerów radiowych z HAL-ami radiowymi. BRS obsługuje interfejsy HAL (HIDL) i radio Androida (AIDL). BRS łączy się z interfejsem HAL AIDL, jeśli istnieje jakakolwiek usługa interfejsu HAL AIDL; w przeciwnym razie usługa łączy się z interfejsem HAL HIDL. BRS tworzy moduł radiowy dla każdej dostępnej instancji HAL (np. AM, FM i DAB).
Każdy menedżer radia może poprosić BRS o utworzenie sesji tunera w odpowiednim module radia na podstawie typu radia. Każda sesja tunera może wywoływać metody takie jak tune, step i cancel (zdefiniowane w interfejsach HAL) w celu wykonywania operacji na odpowiednim wystąpieniu interfejsu HAL radia nadawczego. Gdy jedna sesja tunera otrzyma wywołanie zwrotne od instancji HAL dotyczące aktualizacji HAL, takie jak bieżące informacje o programie, lista programów, flagi konfiguracji i parametry dostawcy, wywołania zwrotne dotyczące aktualizacji są wysyłane do wszystkich tunerów radiowych powiązanych z tym samym modułem radiowym.
Broadcast Radio HAL
Więcej informacji o interfejsach HIDL i AIDL radia nadawczego oraz różnicach między nimi znajdziesz w artykule Interfejs HAL radia nadawczego.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Overview\n\nThe broadcast radio stack consists of the components illustrated in Figure 1.\n**Figure 1.** Broadcast Radio architecture.\n\nRadio reference app\n-------------------\n\nFor details about how to implement radio control, see\n[Radio control implementation](/docs/automotive/radio/radio-control-implementation).\n\nA sample Java radio app (`packages/apps/Car/Radio`) serves as a reference\nimplementation. When the app service starts, it requests Radio Manager to open a Radio Tuner. Then,\nthe app can send requests to the Radio Tuner, such as tuning to a specific radio station, frequency,\nor to seek the next available radio station. The app receives updates from the Radio Manager and\nRadio Tuner in Radio, such as current program information, radio program lists, configurations, and\nvendor-defined parameters. The reference Radio app only supports AM and FM radio. OEMs can modify or\nreplace the Radio app as desired.\n\nRadio Manager\n-------------\n\nWhen the app requests Radio Manager to open a tuner, the Radio Manager\n(`frameworks/base/core/java/android/hardware/radio/RadioManager.java`) requests the\nBroadcast Radio Service (BRS) to open a Tuner session and then wraps the session in a Radio Tuner\n(`frameworks/base/core/java/android/hardware/radio/RadioTuner.java`), which is returned\nto the app.\n\nThe Radio Tuner defines APIs (such as tune, step, and cancel) that can be called from radio apps\nand send requests to BRS. Callback methods (`RadioTuner.Callback`) defined in Radio\nTuner send updates about the broadcast radio HAL, such as current program information, program\nlists, and vendor-defined parameters, from the BRS to apps.\n\nBroadcast Radio Service\n-----------------------\n\nThe Broadcast Radio Service\n(`frameworks/base/services/core/java/com/android/server/broadcastradio`) is the client\nservice for Broadcast Radio HAL. The BRS coordinates multiple Radio Managers with Broadcast Radio\nHALs. The BRS supports\n[HAL interface definition language (HIDL)](/docs/core/architecture/hidl) and\n[Android interface definition language (AIDL)](/docs/core/architecture/aidl) broadcast\nradio HALs. The BRS links to the AIDL HAL when any AIDL HAL service exists;\notherwise, the service links to the HIDL HAL. The BRS creates a Radio Module\nfor each available HAL instance (such as AM, FM, and DAB).\n\nEach Radio Manager can request the BRS to create a tuner session on the\ncorresponding Radio Module, based on the type of radio. Each tuner session can call methods, such\nas tune, step, and cancel (defined in HAL interfaces) to perform operations on the\ncorresponding broadcast radio HAL instance. When one tuner session receives a callback from the HAL\ninstance on a HAL update, such as current program info, program list, configuration flags and,\nvendor parameters, callbacks about the update are sent to all Radio Tuners linked to the same\nRadio Module.\n\nBroadcast Radio HAL\n-------------------\n\n| In Android 13 and lower, versions of the BRS are provided in HIDL and AIDL. New features are added **only** to releases of Android 14 and higher.\n\nTo learn more about the HIDL and AIDL interfaces of broadcast radio and the differences between\nthe two, see\n[Broadcast Radio HAL interface](/docs/automotive/radio/broadcast-radio-hal)."]]