廣播無線電堆疊是由圖 1 所示的元件組成。
電台參考應用程式
如要進一步瞭解如何實作無線電控制項,請參閱 無線電控制實作。
Java 無線電應用程式範例 (packages/apps/Car/Radio
) 可做為參考
。應用程式服務啟動後,系統會要求 Radio Manager 開啟 Radio Tuner。接著:
應用程式就能將要求傳送給 Radio Tuner,例如調整至特定電台、頻率
或跳轉下一個可用的電台應用程式會接收來自 Radio Manager 的更新
電台中的電台調音器,例如最新節目資訊、電台節目清單、設定
供應商定義的參數參考電台應用程式僅支援 AM 和 FM 電台。原始設備製造商 (OEM) 可修改或
視需要更換「Radio」應用程式。
電台管理員
應用程式要求 Radio Manager 開啟調音器時,電台管理員
(frameworks/base/core/java/android/hardware/radio/RadioManager.java
) 會要求
廣播電台服務 (BRS),目的是開啟調諧器工作階段,再將該工作階段納入無線電調諧器
(frameworks/base/core/java/android/hardware/radio/RadioTuner.java
),系統會傳回
加入 App Engine 應用程式
Radio Tuner 定義可從無線電應用程式呼叫的 API (例如調整、步驟和取消)
並向 BRS 傳送要求電台中定義的回呼方法 (RadioTuner.Callback
)
調諧器會傳送廣播電台 HAL 的相關更新,例如目前的節目資訊、節目
列出和供應商定義的參數
廣播電台服務
廣播電台服務
(frameworks/base/services/core/java/com/android/server/broadcastradio
) 是用戶端
提供廣播電台 HAL 服務BRS 透過廣播電台協調多個無線電管理員
HAL。BRS 支援
HAL 介面定義語言 (HIDL) 和
Android 介面定義語言 (AIDL) 廣播
無線電 HAL如有任何 AIDL HAL 服務存在,BRS 會連結至 AIDL HAL;
否則服務會連結至 HIDL HAL。BRS 會建立無線電模組
,例如 AM、FM 和 DAB。
每個電台管理員都可以要求 BRS 在 上建立調音器工作階段 相應的電台模組。每個調諧器工作階段都能呼叫方法, 調整、步驟及取消 (HAL 介面定義),以便對 兩個相應的廣播電台 HAL 執行個體一個調諧器工作階段收到來自 HAL 的回呼時 例如目前的程式資訊、節目清單、設定旗標,以及 供應商參數、更新相關回呼,會傳送至所有與 無線電模組。
廣播電台 HAL
如要進一步瞭解廣播電台的 HIDL 與 AIDL 介面,以及兩者之間的差異 請參閱 廣播電台 HAL 介面