自訂參考電視應用程式

Live TV 是專為 Android TV 裝置設計的參考電視應用程式。不過 裝置製造商可能會想新增更多產品專屬功能 未包含在電視直播的預設導入方式中,例如圖片 調整、遊戲模式或是 3D 模式為了支援這些裝置專屬功能,或 電視直播支援下列自訂選項:

  • 啟用時光平移模式,可讓使用者暫停/快轉 以及倒轉設定要使用的時光平移模式 而非內部儲存空間
  • 正在將選項新增至電視選項列。
  • 新增自訂列並在其中新增選項。

注意直播 「頻道」是 Google 實作的電視直播服務,可依原樣使用 搭載 Google 服務的裝置。如要自訂直播頻道,請將 在下列地點中,有 com.google.android.tv.*com.android.tv.* 操作說明。

自訂電視直播節目

如要自訂直播電視,目標 Android TV 裝置需要自訂套件 安裝,必須是 com.android.tv.permission.CUSTOMIZE_TV_APP權限。

電視直播節目會搜尋具備這項權限的系統套件,並檢查資源 檔案,並偵測套件的 Activity 標有特定類別 來處理自訂作業

重點提示:只有一個套裝方案可以自訂電視直播內容。

設定時光平移模式

時光平移 (Trickplay) 可讓 Android TV 裝置暫停、倒轉 以及快轉頻道播放在直播電視導入作業中,時光平移 透過 Play 控制項 UI根據預設,系統會啟用 電視直播,但可以停用。「時光平移」功能 僅限外部儲存空間使用

如要設定時間平移,請新增字串資源 trickplay_mode ,將其值設為以下其中一個選項:

  • enabled:啟用時光平移。如果 沒有提供任何選項
  • disabled:停用時光平移。
  • use_external_storage_only:設定要使用的時光平移 外部儲存空間
<string name="trickplay_mode">use_external_storage_only</string>
Play 控制項 UI 將於以下日期後啟用:
按下 D-Pad 的中央按鈕。

圖 1. Play 控制項 UI 會在按下 D-Pad 的中央按鈕。

自訂電視選項

裝置製造商可以在現有的電視設定中,新增電視直播設定的自訂選項 電視選項選單,例如在「音效圖片」設定中新增捷徑。

如要表示自訂選項,請宣告用來篩選類別的意圖篩選器 某個活動中的 com.android.tv.category.OPTIONS_ROW。自訂功能 是由裝置製造商在活動中實作。活動 按一下該選項就會啟動該活動的標題和圖示會用於 選項。自訂電視選項應與現有 UI 相符,才能提供 最棒的使用者體驗

注意:一個活動只能處理一個選項 因為直播電視無法在活動中區分意圖篩選器 類別。請參閱在 活動

裝置製造商也可以將自訂選項放在現有 在 AndroidManifest.xml 中定義 android:priority 即可。 定義優先順序值低於 100 的選項,將優先顯示 值和高於 100 的值會顯示在下方。多個自訂選項 (任一 現有選項之前或之後) 則會依優先順序遞增排序 順序。如果選項的優先順序相同,系統不會定義選項的順序。

在這個範例中,該選項會先出現在「電視選項」列 如果按一下該選項,則會啟動 PictureSettingsActivity。

<activity android:name=".PictureSettingsActivity"
    android:label="@string/activity_label_picture_settings"
          android:theme="@style/Theme.Panel">
    <intent-filter
        android:icon="@drawable/ic_tvoptions_brightness"
        android:label="@string/option_label_brightness"
        android:priority="0">
        <action android:name="android.intent.action.MAIN" />
        <category android:name="com.android.tv.category.OPTIONS_ROW" />
    </intent-filter>
</activity>

自訂電視選項列範例

圖 2. 自訂電視選項列範例 (亮度和 節能)。

以下是自訂電視選項的範例。

圖 3. 以下是自訂電視選項的範例。

在活動中處理多個選項

選項對應至活動的意圖篩選器,反之亦然。因為 Android 並未使用相同的類別和動作區隔意圖篩選器。 即使已宣告多個意圖篩選器,活動也只會處理一個選項 。如要在活動中處理多個選項,請使用 <activity-alias>AndroidManifest.xml。在 活動,使用 getIntent().getComponent() 找出使用者點選的選項。

<activity-alias android:name=".AnyUniqueName"
    android:targetActivity=".PictureSettingsActivity">
    <intent-filter
        android:icon="@drawable/ic_tvoptions_energy_saving"
        android:label="@string/option_label_energy_saving"
        android:priority="1">
        <action android:name="android.intent.action.MAIN" />
        <category android:name="com.android.tv.category.OPTIONS_ROW" />
    </intent-filter>
</activity-alias>

建立自訂資料列

裝置製造商可以在電視選項列的上方新增及自訂資料列。 此自訂資料列為選用項目。

列標題

在以下位置定義 partner_row_title 字串: res/values/strings.xml。字串值可用於自訂 列標題。

<string name="partner_row_title">Partner Row</string>

自訂選項

如要在自訂列中新增自訂選項,請按照新增選項的程序操作 而是將類別名稱變更為 請改為使用「com.android.tv.category.PARTNER_ROW」。

<activity android:name=".ThreeDimensionalSettingDialogActivity"
    android:label="@string/activity_label_3d"
    android:theme="@android:style/Theme.Material.Light.Dialog">
    <intent-filter
        android:icon="@drawable/ic_tvoptions_3d"
        android:priority="0">
        <action android:name="android.intent.action.MAIN" />
        <category android:name="com.android.tv.category.PARTNER_ROW" />
    </intent-filter>
</activity>

選填的自訂資料列範例。

圖 4. 選填的自訂資料列範例。

自訂選項對話方塊範例。

圖 5:自訂選項對話方塊範例。