
Android TV 輸入架構 (TIF) 可簡化將直播內容提交至 Android TV 的程序。Android TIF 提供標準 API,方便製造商建立用於控制 Android TV 的輸入模組,並透過 TV 輸入功能發布的中繼資料,啟用即時電視搜尋和推薦功能。
此架構並未設法實作電視標準或區域規定,但確實讓裝置製造商更容易在不重新實作的情況下,滿足區域數位電視廣播標準。對於想建立自訂 TV 輸入的第三方應用程式開發人員來說,本節的說明文件也可能很實用。
元件
Android TV 輸入架構實作包含 TV 輸入管理器。TIF 可與 TV 應用程式搭配使用,這個系統應用程式無法由第三方應用程式取代,可用於存取內建和 IP 轉換器頻道。電視應用程式會透過電視輸入管理工具,與裝置製造商或其他方提供的電視輸入模組進行通訊。
電視輸入架構包含:
- 電視供應商 (
com.android.providers.tv.TvProvider
):包含頻道、節目和相關權限的資料庫 - TV 應用程式 (
com.android.tv.TvActivity
):處理使用者互動的應用程式 - TV Input Manager (
android.media.tv.TvInputManager
):允許 TV Inputs 與 TV 應用程式通訊 - 電視輸入:代表實體或虛擬調諧器和輸入埠的應用程式
- 電視輸入 HAL (
tv_input
模組):硬體定義,可讓系統電視輸入在實作時存取電視專屬硬體 - 家長監護:可封鎖頻道和節目的技術
- HDMI-CEC:可透過 HDMI 遠端控制各種裝置的技術
- 調諧器架構:內建調諧器電視輸入裝置的架構
- MediaCas:條件式存取權架構
- 調諧器資源管理工具:管理電視輸入、MediaCas 和內建調諧器輸入的硬體資源
下文將詳細說明這些元件。如需 Android TV 輸入架構的詳細架構圖,請參閱下圖。

流程
架構的運作方式如下:
- 使用者會看到並與 TV 應用程式互動,這是無法由第三方應用程式取代的系統應用程式。
- TV 應用程式會顯示來自 TV Input 的 AV 內容。
- 電視應用程式無法直接與電視輸入裝置通訊。TV 輸入管理工具會識別 TV 應用程式的 TV 輸入來源狀態。如要進一步瞭解這些限制,請參閱下方的「TV 輸入管理工具」。
權限
- 只有
signatureOrSystem
電視輸入和電視應用程式可完全存取電視供應商資料庫,並接收 KeyEvent。 - 只有系統電視輸入端才能透過 TV Input Manager 服務存取 TV Input HAL。電視輸入來源會透過 TV Input Manager 工作階段進行一對一存取。
- 第三方電視輸入內容具有套裝方案鎖定存取電視供應商資料庫的權限,且只能讀取/寫入相符的套裝方案列。
- 第三方電視輸入端可以顯示自己的內容,或是裝置製造商的直通電視輸入端 (例如 HDMI1) 內容。無法顯示來自非直通電視輸入來源的內容,例如內建或 IPTV 調諧器。
- 硬體電視輸入應用程式的
TV_INPUT_HARDWARE
權限,可向 TV Input Manager Service 發出訊號,在啟動時通知 TV Input Service 呼叫 TV Input Manager Service 並新增電視輸入。這項權限可讓硬體 TV Input 應用程式支援每個 TV Input 服務的多個 TV Input,並能動態新增及移除所支援的 TV Input。
電視供應商
電視供應商資料庫會儲存電視輸入內容的頻道和節目。電視供應商也會發布及管理相關聯的權限,讓電視輸入裝置只看見自己的記錄。舉例來說,特定電視輸入裝置只能看到自己提供的頻道和節目,且不得存取任何其他電視輸入裝置的頻道和節目。
電視供應商會在內部將「播送類型」對應至「標準類型」。TV 輸入內容會負責將「廣播類型」填入基礎廣播標準中的值,而「標準類型」欄位會自動填入 android.provider.TvContract.Genres
中的正確關聯類型。舉例來說,如果播送標準為 ATSC A/65,且節目類型為 0x25 (代表「運動」),TV 輸入會將字串「Sports」填入「播送類型」欄位,而 TV 供應商會將對應值 android.provider.TvContract.Genres.SPORTS
填入「標準類型」欄位。
請參閱下方圖表,瞭解電視供應商的詳細資訊。

只有特權系統分割區中的應用程式可以讀取整個 TV Provider 資料庫。
直通電視輸入來源不會儲存頻道和節目。
除了頻道和節目的標準欄位外,TV 供應商資料庫也在每個資料表中提供 BLOB 類型欄位 COLUMN_INTERNAL_PROVIDER_DATA
,TV 輸入裝置可使用這個欄位儲存任意資料。該 BLOB 資料可包含自訂資訊,例如關聯調諧器的頻率,並可透過 Protocol Buffers 或其他形式提供。您可以使用可搜尋欄位,讓特定頻道無法在搜尋中顯示 (例如,符合特定國家/地區的內容保護規定)。
資料庫欄位範例
電視供應商支援頻道 (android.provider.TvContract.Channels
) 和節目 (android.provider.TvContract.Programs
) 資料表中的結構化資料。這些表格會由電視輸入和系統應用程式 (例如電視應用程式) 填入及存取。這些表格有四種類型的欄位:
- 顯示: 顯示欄位包含應用程式可能想向使用者顯示的資訊,例如頻道名稱 (
COLUMN_DISPLAY_NAME
) 或號碼 (COLUMN_DISPLAY_NUMBER
),或是正在觀看的節目名稱。 - 中繼資料:根據相關標準,有三個欄位可用來識別內容,例如頻道的傳輸串流 ID (
COLUMN_TRANSPORT_STREAM_ID
)、原始網路 ID (COLUMN_ORIGINAL_NETWORK_ID
) 和服務 ID (COLUMN_SERVICE_ID
)。 - 內部資料:用於自訂電視輸入裝置的欄位。
部分欄位 (例如COLUMN_INTERNAL_PROVIDER_DATA
) 是可自訂的 BLOB 欄位,可讓 TV 輸入儲存頻道或節目的任意中繼資料。 - 標記: 標記欄位代表頻道是否應受到搜尋、瀏覽或觀看限制。這項設定只能在頻道層級設定。所有節目都會採用頻道的設定。
COLUMN_SEARCHABLE
:在某些地區,可能會要求限制搜尋某些管道。COLUMN_SEARCHABLE = 0
表示頻道不應出現在搜尋結果中。COLUMN_BROWSABLE
:僅供系統應用程式顯示。限制應用程式瀏覽管道。COLUMN_BROWSABLE = 0
表示頻道不應納入頻道清單。COLUMN_LOCKED
:僅供系統應用程式顯示。限制無效帳戶觀看頻道,除非輸入 PIN 碼。COLUMN_LOCKED = 1
表示頻道應受到家長監護功能保護。
如需更完整的欄位清單,請參閱 android/frameworks/base/media/java/android/media/tv/TvContract.java
權限和存取權控管
凡是有權存取對應資料列的使用者,都能查看所有欄位。使用者無法直接存取任何欄位,只能看到 TV 應用程式、系統應用程式或 TV 輸入裝置的介面。
- 每個資料列都有
PACKAGE_NAME
,這是擁有該資料列的套件 (應用程式),可透過 TvProvider.java 查詢、插入、更新。電視輸入裝置只能存取自己寫入的資訊,且與其他電視輸入裝置提供的資訊隔離。 - 透過 AndroidManifest.xml 取得 READ、WRITE 權限 (需要使用者同意),以便判斷可用的管道。
- 只有
signatureOrSystem
應用程式可以取得ACCESS_ALL_EPG_DATA
權限,存取整個資料庫。
電視輸入來源管理器
TV Input Manager 會為整體 Android TV 輸入架構提供中央系統 API。它會仲裁應用程式和電視輸入內容之間的互動,並提供家長監護功能。TV Input Manager 工作階段必須與 TV Inputs 一對一建立。TV Input Manager 可讓應用程式存取已安裝的 TV 輸入,以便執行下列操作:
- 列出電視輸入裝置並查看其狀態
- 建立工作階段及管理收聽者
在工作階段中,TV 應用程式可能只會將 TV 輸入裝置調諧至已新增至 TV 供應器資料庫的 URI,但透過 TvContract.buildChannelUriForPassthroughInput()
調諧的傳送模式 TV 輸入裝置除外。電視輸入裝置也可能有音量設定。由裝置製造商提供及簽署的 TV Inputs (簽名應用程式),或在系統分區中安裝的其他應用程式,都能夠存取整個 TV 供應器資料庫。這項存取權可用於建構應用程式,以便瀏覽及搜尋所有可用的電視頻道和節目。
應用程式可能會使用 android.media.tv.TvInputManager
建立及註冊 TvInputCallback
,以便在電視輸入裝置狀態變更,或在新增或移除電視輸入裝置時回呼。舉例來說,電視應用程式可以在電視輸入裝置連線中斷時做出回應,例如顯示為已中斷並防止選取。
TV Input Manager 會抽象化 TV 應用程式和 TV 輸入裝置之間的通訊。TV Input Manager 和 TV Input 的標準介面可讓多家裝置製造商建立自己的電視應用程式,同時協助所有第三方電視輸入來源在所有電視應用程式中運作。
電視輸入源
從 Android 應用程式的角度來看,TV 輸入裝置就是 Android 應用程式,因為它們有 AndroidManifest.xml,且已安裝 (透過 Play 商店、預先安裝或側載)。Android TV 支援預先安裝的系統應用程式、裝置製造商簽署的應用程式,以及第三方電視輸入。
有些輸入來源 (例如 HDMI 輸入端或內建調諧器輸入端) 只能由製造商提供,因為這些輸入端會直接與底層硬體通訊。其他功能 (例如 IPTV、轉移位置和外部 STB) 則可由第三方以 APK 形式提供至 Google Play 商店。下載並安裝後,即可在電視應用程式中選取新的輸入來源。
直通輸入示例

在這個範例中,裝置製造商提供的 TV Input 是可信任的,且具有 TV Provider 的完整存取權。由於這是透過電視輸入來源,因此不會向電視供應商註冊任何頻道或節目。如要取得用於參照傳送至輸入端的 URI,請使用 android.media.tv.TvContract
公用程式方法 buildChannelUriForPassthroughInput(String inputId)
。TV 應用程式會與 TV Input Manager 通訊,以便存取 HDMI TV Input。
內建調諧器示例

在這個範例中,裝置製造商提供的內建調諧器 TV 輸入內容是可信任的,且具有 TV 供應商的完整存取權。
第三方輸入來源範例

在本例中,外部 STB TV 輸入是由第三方提供。由於電視輸入無法直接存取 HDMI 視訊輸入,因此必須透過電視輸入管理工具,並使用裝置製造商提供的 HDMI 電視輸入。
透過 TV Input Manager,外部 STB TV Input 可以與 HDMI TV Input 通訊,要求後者在 HDMI1 上顯示影片。因此,當製造商提供的 HDMI 電視輸入端算繪影片時,STB 電視輸入端就能控制電視。
子母畫面 (PIP) 範例

上圖顯示如何將遙控器上的按鈕傳送至特定電視輸入來源,以便顯示子母畫面 (PIP)。這些按鈕按壓動作會由裝置製造商提供的硬體驅動程式解讀,將硬體掃描碼轉換為 Android 按鍵碼,並將其傳遞至標準 Android 輸入管道
InputReader
和 InputDispatcher
函式,做為 KeyEvents。這些事件會觸發 TV 應用程式 (如果處於聚焦狀態) 的事件。
只有具備 RECEIVE_INPUT_EVENT
系統權限的系統電視輸入裝置,才有資格接收 InputEvents
。TV Input 負責決定要使用哪些 InputEvents,並應允許 TV 應用程式處理不需要使用的鍵。
TV 應用程式負責瞭解哪個系統 TV 輸入裝置處於活動狀態,也就是使用者所選的輸入裝置,並且要將傳入的 KeyEvents
解讀為單一事件,並將其導向正確的 TV Input Manager 工作階段,呼叫 dispatchInputEvent()
將事件傳遞至相關聯的 TV 輸入裝置。
MHEG-5 輸入範例
下圖更詳細說明 KeyEvents
如何透過 Android TIF 轉送。

這張圖片顯示紅色按鈕應用程式的流程,這種應用程式在歐洲很常見,可讓使用者在電視上存取互動式應用程式。應用程式可透過這個傳輸串流傳送。點選按鈕後,使用者就能與這些廣播應用程式互動。舉例來說,您可以使用這些廣播應用程式存取相關網頁或運動比數。
請參閱「廣播應用程式」一節,瞭解廣播應用程式如何與 TV 應用程式互動。
在這個例子中:
- TV 應用程式處於聚焦狀態,並接收所有按鍵。
KeyEvents
(例如紅色按鈕) 會以InputEvents.
的形式傳遞至有效的 TV Input- 系統電視輸入端會整合 MHEG-5 堆疊,並具有
RECEIVE_INPUT_EVENT
系統權限。 - 收到啟用按鍵代碼 (例如紅色按鈕) 後,電視輸入會啟用廣播應用程式。
- 電視輸入會以
InputEvents
使用KeyEvents
,廣播應用程式會成為焦點並處理InputEvents
,直到關閉為止。
注意:第三方電視輸入裝置永遠不會收到按鍵。
電視輸入 HAL
TV Input HAL 可協助開發 TV 輸入功能,以存取電視專屬硬體。與其他 Android HAL 一樣,TV Input HAL (tv_input
) 可在 AOSP 來源樹狀結構中使用,供應商會開發其實作項目。
注意:自 Android 14 起,電視輸入 HAL 介面會使用 AIDL 定義。
TV 應用程式
系統電視應用程式會向使用者呈現電視直播內容。我們會在 Android 平台中提供參考電視應用程式 (Live TV),可供裝置製造商使用、自訂、擴充或取代。原始碼可在 Android 開放原始碼計畫中取得,您可以在「參考電視應用程式」一文中開始使用。
裝置製造商可以擴充電視應用程式,實作裝置製造商或特定國家/地區的功能,但這不在 TIF 或參考電視應用程式的範圍內。
系統電視應用程式至少需要處理下列工作:
設定與配置
- 自動偵測電視輸入源
- 讓電視輸入裝置啟動頻道設定
- 控制家長監護設定
- 編輯頻道
查看中
- 存取及瀏覽所有電視頻道
- 存取電視節目資訊列
- 顯示電子節目表 (EPG) 資料
- 支援多個音訊和字幕音軌
- 提供家長監護 PIN 碼驗證
- 允許電視標準 (HbbTV 等) 的電視輸入 UI 重疊
- 為電視頻道和節目填入搜尋結果
- 顯示應用程式連結資訊卡
- 支援時間轉移 API
- 處理 DVR 功能並支援 TV recording API
隨著平台 TIF API 擴充,這組功能也會隨著新版 Android 版本增加。CTS Verifier 可提供相容性測試涵蓋範圍。
支援第三方電視輸入
Android TV 為第三方電視輸入裝置提供開發人員 API,讓已安裝的應用程式可將軟體頻道納入電視直播體驗。為確保 Android 裝置實作相容性,系統 TV 應用程式必須負責向使用者顯示第三方 TV 輸入內容和頻道。參考的電視直播應用程式提供相容的實作方式;如果要取代系統 TV 應用程式,裝置製造商必須確保自家應用程式提供類似的相容性,以滿足所有 Android TV 裝置開發人員的期望。
系統電視應用程式必須在裝置的預設電視直播服務旁顯示第三方輸入內容。開發人員 API 的承諾是,使用者在安裝後,就能在標準電視體驗中找到頻道。
根據 Android CDD 的電視應用程式部分定義,系統允許內建頻道和第三方頻道之間的視覺差異。
以下各節說明如何讓直播電視應用程式符合 CDD 規定。
設定新管道
新增第三方輸入/頻道時,使用者必須先在應用程式商店 (例如 Google Play) 中找到並安裝 TV 輸入裝置。
部分第三方電視輸入會自動將頻道新增至 TvProvider 資料庫。不過,大多數應用程式都會提供設定活動,讓使用者設定管道、提供登入詳細資料,以及執行其他動作。系統電視應用程式需要確保使用者能啟用這項設定活動,因此 CDD 要求第三方輸入內容必須是離開主要電視應用程式的最少導覽動作。
參考的直播電視應用程式提供「頻道來源」選單,可用於存取輸入內容。




此外,安裝新 TvInput 後,TV 應用程式選單頂端會顯示通知卡片,讓使用者直接前往設定畫面:

如果使用者透過通知採取行動,則可選取設定來源,如圖 10 所示。
如需瞭解開發人員在這方面的期望,請參閱「定義電視輸入服務」。
自訂頻道清單
裝置製造商可能會提供 UI,用來隱藏特定頻道,並讓使用者自行管理 EPG。直播電視節目也包含這項功能。


EPG
第三方輸入開發人員必須確保使用者在一般使用情況下,可輕鬆在所有相容的 Android TV 裝置上瀏覽頻道。
第三方輸入來源的頻道必須顯示在裝置的標準電視直播電子節目表中。您可以使用視覺分隔或獨立的第三方頻道類別 (請參閱 Android CDD 的電視應用程式部分),重點在於使用者能夠找到已安裝的頻道。
搜尋
為了確保最佳使用者體驗,製造商必須實作 TV 應用程式,以便納入全球搜尋要求的搜尋結果。直播電視提供實作項目 (請參閱 這裡),可提供第三方輸入內容 (平台相容性必備) 和內建輸入內容的結果。
時間偏移
如果是搭載 Android 6.0 以上版本的裝置,TV 應用程式必須支援 Android 架構 時間轉移 API。此外,製造商必須在電視應用程式中實作播放控制項,讓使用者可以暫停、繼續、倒轉及快轉播放內容。
如果電視輸入來源支援時間移轉,電視應用程式就必須顯示播放控制項。

DVR
對於搭載 Android 7.0 以上版本的裝置,TV 應用程式必須支援 Android 架構 TV recording API,才能支援、列出及播放已錄製的節目。
這可讓裝置製造商將 DVR 子系統插入 TIF,並大幅減少在電視裝置上啟用或整合 DVR 功能所需的整合工作量。這也讓第三方可以提供可插入 Android TV 裝置的售後 DVR 系統。
除了錄製直播內容,TV 應用程式還會處理資源衝突。舉例來說,如果裝置有兩個調諧器,就能同時錄製兩個節目。如果使用者要求錄製三個,TV 應用程式必須處理衝突,並應顯示通知,或要求使用者為這些要求安排優先順序。
TV 應用程式也可以實作更複雜的邏輯,例如在使用者要求錄製某集節目時,詢問使用者是否要錄製該系列節目的所有後續集數。
請參閱下圖,瞭解 Android TV 中可能的 DVR 實作方式。

- TV 輸入服務會告知 TV 應用程式可用的調諧器數量,以便 TV 應用程式處理可能的資源衝突。
- TV 應用程式收到使用者提出的電視節目錄影要求。
- TV 應用程式會將錄影時間表儲存在內部資料庫中。
- 錄影時間到時,TV 應用程式會傳送要求,將頻道切換至與錄影相關聯的頻道。
- TV Input Service 會接收這項要求,並回應是否有適當的資源,然後切換至該頻道。
- 接著,TV 應用程式會將開始錄影的要求傳遞至 TV Input Manager。
- 電視輸入服務收到這項要求後,就會開始錄製。
- TV Input Service 會將實際的影片資料儲存在儲存空間中,該儲存空間可以是外部儲存空間或雲端儲存空間。
- 錄製完成後,TV App 會將停止錄製要求傳遞至 TV Input Manager。
- 電視輸入服務收到要求後,就會停止錄影,並將相關聯的中繼資料新增至電視供應器,以便電視應用程式在使用者要求時顯示錄影內容。
如要進一步瞭解如何在 TV 輸入服務中實作錄影功能,請參閱這篇「電視錄影」文章。
實用資源
- Android CDD 和已記錄的開發人員 API 是最終參考資料。
- CTS 驗證工具會在相容性測試計畫中執行 API。針對 Live TV 執行這項操作,或許是查看第三方輸入內容中的 EPG、搜尋、家長監護和其他規定的實用方法。
- 如要瞭解開發人員在這方面的期望,請參閱「定義 TV 輸入服務」。
家長監護
家長監護功能可讓使用者封鎖不想觀看的頻道和節目,但只要輸入 PIN 碼,即可略過封鎖。
家長監護功能的責任由電視應用程式、電視輸入管理員服務、電視供應商和電視輸入裝置共同承擔。
家長監護功能為強制規定,並受 CTS Verifier 涵蓋。
部分國家/地區已定義分級系統,電視輸入裝置可透過 TVContentRating API 使用這些系統。此外,電視輸入端可以註冊自己的自訂評分系統,如 CTS 驗證器測試所示,這會引入「假」評分。對於設有標準分級制度的國家/地區,我們建議裝置製造商將 TV Input Framework 家長監護功能與其他可能納入的機制結合。
電視服務供應商
每個頻道資料列都有 COLUMN_LOCKED
欄位,可用於鎖定特定頻道,讓使用者必須輸入 PIN 碼才能觀看。COLUMN_CONTENT_RATING
方案欄位是用於顯示,並非用於強制執行家長監護功能。
電視輸入來源管理器
TV Input Manager 會儲存所有已封鎖的 TvContentRating
,並回應 isRatingBlocked()
,建議是否應封鎖具有指定分級的內容。
電視輸入
當顯示內容的評級變更 (在節目或頻道變更時),或家長監護設定變更 (在 ACTION_BLOCKED_RATINGS_CHANGED
和 ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED
上) 時,TV 輸入會在 TV 輸入管理工具上呼叫 isRatingBlocked()
,檢查是否應封鎖目前的內容。如果應封鎖內容,TV 輸入會停用音訊和影像,並透過呼叫 notifyContentBlocked(TvContentRating)
通知 TV 應用程式,目前的內容已遭到封鎖。如果內容不應遭到封鎖,TV 輸入裝置會透過呼叫 notifyContentAllowed()
啟用音訊和視訊,並通知 TV 應用程式目前允許的內容。
TV 應用程式
為了遵循家長監護 API 的規範,並建立相容的平台,系統電視應用程式需要提供一種方式,讓使用者管理家長監護功能,包括特定應用程式註冊的任何自訂分級。
如果電視輸入裝置通知電視應用程式目前內容已遭封鎖,或是使用者嘗試觀看已封鎖的頻道,電視應用程式就會顯示 PIN 碼 UI。
TV 應用程式不會直接儲存家長監護設定。當使用者變更家長監護設定時,TV Input Manager 會儲存所有遭封鎖的 TvContentRating
,而電視供應商則會儲存遭封鎖的頻道。
如要變更家長監護設定,TV 應用程式必須宣告 android.permission.MODIFY_PARENTAL_CONTROLS
權限。
我們鼓勵裝置製造商:
- 針對參考直播電視應用程式執行 CTS 驗證器家長控制項測試,以示範相容性要求。
- 使用電視直播應用程式做為自家電視應用程式的參考依據:請特別參閱 ContentRatingsManager 和 RatingSystemsFragment 來源,以及如何處理自訂分級。
HDMI-CEC
HDMI-CEC 可讓一項裝置控制另一項裝置,因此可透過單一遙控器控制家庭劇院中的多項家電。Android TV 會使用這項功能加快設定程序,並透過中央電視應用程式遠端控制各種電視輸入來源。舉例來說,這項功能可切換輸入來源、開啟或關閉裝置等。
Android TIF 會將 HDMI-CEC 實作為 HDMI 控制服務,因此裝置製造商只需開發與輕量版 Android TV HAL 互動的低階驅動程式,即可略過更複雜的業務邏輯。在提供標準實作方式時,Android 會減少分散的實作方式和選定功能支援,藉此緩解相容性問題。HDMI 控制服務會使用現有的 Android 服務,包括輸入和電源。
也就是說,現有的 HDMI-CEC 實作方式必須重新設計,才能與 Android TIF 互通。建議硬體平台包含微處理器,以便接收 CEC 開機和其他指令。

- CEC 匯流排會接收來自目前有效來源的指令,以便切換至其他來源。
- 驅動程式會將指令傳遞至 HDMI-CEC HAL。
- HAL 會通知所有
ActiveSourceChangeListeners
。 - HDMI 控制服務會透過
ActiveSourceChangeListener
收到來源變更通知。 - TV Input Manager 服務會為 TV 應用程式產生意圖,以便切換來源。
- 接著,TV App 會為要切換的 TV Input 建立 TV Input Manager 工作階段,並在該工作階段中呼叫
setMain
。 - 電視輸入管理工具工作階段會將這項資訊傳遞至 HDMI 電視輸入端。
- HDMI 電視輸入端要求設定側帶介面。
- 在設定介面時,TV Input Manager Service 會產生對應的路由控制指令,並傳回 HDMI Control Service。
電視整合指南
廣播應用程式
由於每個國家/地區都有特定的廣播要求 (MHEG、Teletext、HbbTV 等),因此製造商應為廣播應用程式提供專屬解決方案,例如:
- MHEG:原生堆疊
- 電傳文訊:原生堆疊
- HbbTV:Vewd Software 的 HbbTV 解決方案
在 Android L 版本中,Android TV 預期裝置製造商會使用系統整合器或適用於區域電視堆疊的 Android 解決方案,將介面傳遞至電視軟體堆疊,或傳遞必要的關鍵程式碼來與舊版堆疊互動。
以下說明廣播應用程式和電視應用程式的互動方式:
- TV 應用程式處於聚焦狀態,可接收所有按鍵。
- TV 應用程式會將按鍵 (例如紅色按鈕) 傳遞至 TV Input 裝置。
- 電視輸入裝置會在內部與舊版電視堆疊整合。
- 接收啟用鍵碼 (例如紅色按鈕) 後,TV Input 裝置會啟用廣播應用程式。
- 直播應用程式會在電視應用程式中取得焦點,並處理使用者動作。
對於語音搜尋/推薦,廣播應用程式可能會支援應用程式內搜尋功能,以便使用者進行語音搜尋。