Live TV to referencyjna aplikacja telewizyjna przeznaczona na telewizory z Androidem. Pamiętaj jednak: Producenci urządzeń mogą dodawać więcej funkcji poszczególnych produktów, nieobjęte domyślną implementacją TV na żywo, taką jak obraz trybu gry czy trybu 3D. obsługę tych funkcji związanych z określonym urządzeniem lub Telewizja na żywo obsługuje te dostosowania:
- Włączam tryb przesunięcia w czasie, który umożliwia użytkownikom wstrzymywanie, przewijanie do przodu i przewinąć do tyłu. Konfiguruję używany tryb przesunięcia w czasie pamięci zewnętrznej zamiast wewnętrznej.
- Dodaję opcje do wiersza opcji telewizyjnych.
- Dodawanie wiersza niestandardowego i dodawanie w nim opcji.
Uwaga: na żywo
Kanały to implementacja Google TV na żywo, której można używać w niezmienionej formie.
urządzeń z usługami Google. Aby dostosować Kanały na żywo, zastąp
com.android.tv.*
z: com.google.android.tv.*
za instrukcje.
Dostosuj telewizję na żywo
Aby dostosować telewizję na żywo, docelowe urządzenie z Androidem TV wymaga pakietu dostosowania
musi to być gotowa aplikacja systemowa z
Uprawnienie com.android.tv.permission.CUSTOMIZE_TV_APP
.
Telewizja na żywo wyszukuje pakiet systemowy z tym uprawnieniem, sprawdza zasób i wykrywa aktywność pakietu. oznaczone konkretnymi kategoriami na przetwarzanie danych.
Ważne: tylko jeden pakiet umożliwia dostosowanie telewizji na żywo.
Skonfiguruj tryb przesunięcia w czasie
Przesuw w czasie (trikplay) umożliwia wstrzymywanie, przewijanie i wstrzymywanie telewizorów z Androidem oraz przewijać kanał do przodu. Jeśli chodzi o implementację telewizji na żywo, przesuwanie w czasie można używać w interfejsie Sterowanie odtwarzaniem. Przesunięcie w czasie jest domyślnie włączone w: telewizję na żywo, ale można ją wyłączyć; Przesunięcie w czasie można też skonfigurować tak: tylko w pamięci zewnętrznej.
Aby skonfigurować przesunięcie w czasie, dodaj zasób ciągu znaków trickplay_mode
i ustaw jego wartość na jedną z poniższych opcji:
enabled
: włącz przesunięcie w czasie. Jest to wartość domyślna, gdy nie są podane żadne opcje.disabled
: wyłącz przesunięcie w czasie.use_external_storage_only
: skonfiguruj przesunięcie w czasie, którego będzie używać pamięci zewnętrznej.
<string name="trickplay_mode">use_external_storage_only</string>
Dostosuj opcje telewizora
Producenci urządzeń mogą dodawać niestandardowe opcje ustawień telewizji na żywo menu opcji telewizora, na przykład dodanie skrótu do ustawień obrazu dźwiękowego.
Aby wskazać opcję niestandardową, zadeklaruj filtr intencji, który filtruje kategorię
com.android.tv.category.OPTIONS_ROW
w aktywności. Funkcja niestandardowa
jest wdrożony przez producenta urządzenia w aktywności. Aktywność
uruchamia się po kliknięciu odpowiedniej opcji. Tytuł i ikona aktywności są używane do:
wybierz tę opcję. Niestandardowe opcje TV powinny pasować do istniejącego interfejsu użytkownika, aby zapewnić
i zapewniają użytkownikom najlepsze wrażenia.
Uwaga: aktywność może obsługiwać tylko 1 opcję. Telewizja na żywo nie może rozróżnić filtrów intencji w działaniu z takim samym kategorii ze względu na ograniczenia związane z Androidem. Zapoznaj się z sekcją Obsługiwanie wielu opcji w .
Producenci urządzeń mogą też dodać opcję niestandardową przed dotychczasowymi lub po nich
definiując android:priority
w AndroidManifest.xml
.
Opcja o zdefiniowanej wartości priorytetu poniżej 100 jest wyświetlana przed
i wartość większą niż 100. Wiele opcji niestandardowych (
przed istniejącymi opcjami lub po nich) są posortowane rosnąco według priorytetu
zamówienie. Jeśli opcje mają taki sam priorytet, kolejność między nimi jest niezdefiniowana.
W tym przykładzie opcja pojawia się jako pierwsza w wierszu opcji TV, Kliknięcie tej opcji uruchamia 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>
Obsługa wielu opcji w ramach aktywności
Opcja jest mapowana na filtr intencji aktywności i odwrotnie. Ponieważ Android
nie rozróżnia filtrów intencji o tych samych kategoriach i działaniach,
aktywność obsługuje tylko 1 opcję, nawet jeśli zadeklarowano wiele filtrów intencji
w nim zawarte. Aby obsługiwać wiele opcji w ramach aktywności, użyj funkcji
<activity-alias>
w AndroidManifest.xml
. W
aktywność, użyj getIntent().getComponent()
, aby zidentyfikować klikniętą opcję.
<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>
Tworzenie wiersza niestandardowego
Producenci urządzeń mogą dodawać i dostosowywać wiersz nad wierszem opcji telewizora. Ten wiersz niestandardowy jest opcjonalny.
Tytuł wiersza
Zdefiniuj ciąg znaków partner_row_title
w:
res/values/strings.xml
Wartość tego ciągu jest używana w niestandardowym tagu
tytułu wiersza.
<string name="partner_row_title">Partner Row</string>
Opcje niestandardowe
Aby dodać opcje niestandardowe do wiersza niestandardowego, postępuj zgodnie z procesem dodawania opcji
ale zmień nazwę kategorii na
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>