התאם אישית את אפליקציית הטלוויזיה הייחוס

Live TV היא אפליקציית עזר לטלוויזיה המיועדת למכשירי טלוויזיה אנדרואיד. עם זאת, ייתכן שיצרני מכשירים ירצו להוסיף עוד פונקציות ספציפיות למוצר, שאינן מכוסות על ידי יישום ברירת המחדל של Live TV, כגון התאמת תמונה, מצב משחק או מצב תלת מימד. כדי לתמוך בפונקציות או אפשרויות ספציפיות למכשיר, Live TV תומך בהתאמות אישיות אלה:

  • הפעלת מצב המרת זמן, המאפשר למשתמשים להשהות, להריץ קדימה ולהריץ אחורה. הגדרת מצב העברת זמן לשימוש באחסון חיצוני במקום באחסון פנימי.
  • הוספת אפשרויות לשורת אפשרויות הטלוויזיה.
  • הוספת שורה מותאמת אישית והוספת אפשרויות בה.

הערה : ערוצים חיים הם ההטמעה של Google של טלוויזיה בשידור חי שניתן להשתמש בה כפי שהוא במכשירים עם שירותי Google. כדי להתאים אישית ערוצים חיים, החלף com.android.tv.* ב- com.google.android.tv.* בהוראות אלה.

התאם אישית טלוויזיה בשידור חי

כדי להתאים אישית את ה- Live TV, מכשיר ה-Android TV היעד צריך להתקין חבילת התאמה אישית, שחייבת להיות אפליקציית מערכת בנויה מראש עם הרשאת com.android.tv.permission.CUSTOMIZE_TV_APP .

Live TV מחפש חבילת מערכת עם הרשאה זו, בודק את קבצי המשאבים ומזהה את הפעילויות של החבילה המסומנות בקטגוריות ספציפיות לעיבוד התאמה אישית.

נקודת מפתח : רק חבילה אחת יכולה להתאים אישית טלוויזיה בשידור חי.

הגדר מצב שינוי זמן

הזזת זמן (trickplay) מאפשרת למכשירי טלוויזיה אנדרואיד להשהות, להריץ אחורה ולהריץ את השמעת הערוצים קדימה. ביישום Live TV, ניתן להשתמש בשינוי זמן דרך ממשק המשתמש של בקרות ההפעלה . החלפת זמן מופעלת כברירת מחדל בטלוויזיה בשידור חי, אך ניתן להשבית אותה. ניתן גם להגדיר שינוי זמן לשימוש באחסון חיצוני בלבד.

כדי להגדיר שינוי זמן, הוסף את משאב המחרוזת trickplay_mode והגדר את הערך שלו לאחת מהאפשרויות הבאות:

  • enabled : אפשר שינוי זמן. זהו ערך ברירת המחדל כאשר לא ניתנות אפשרויות.
  • disabled : השבת שינוי זמן.
  • use_external_storage_only : הגדר שינוי זמן לשימוש באחסון חיצוני.
<string name="trickplay_mode">use_external_storage_only</string>
ממשק המשתמש של בקרות ההפעלה מופעל לאחר לחיצה על הלחצן המרכזי של ה-D-pad.

איור 1 . ממשק המשתמש של בקרות ההפעלה מופעל לאחר לחיצה על הלחצן המרכזי של ה-D-pad.

התאם אישית את אפשרויות הטלוויזיה

יצרני מכשירים יכולים להוסיף אפשרויות מותאמות אישית עבור הגדרות טלוויזיה בשידור חי לתפריט אפשרויות הטלוויזיה הקיים, כגון הוספת קיצור דרך להגדרות תמונת קול.

כדי לציין אפשרות מותאמת אישית, הכריז על מסנן כוונות המסנן את הקטגוריה com.android.tv.category.OPTIONS_ROW בפעילות. התכונה המותאמת אישית מיושמת על ידי יצרן המכשיר בפעילות. הפעילות מופעלת אם לוחצים על האפשרות. הכותרת והסמל של הפעילות משמשים לאפשרות. אפשרויות טלוויזיה מותאמות אישית צריכות להתאים לממשק המשתמש הקיים כדי לספק את חווית המשתמש הטובה ביותר.

הערה : פעילות יכולה להתמודד עם אפשרות אחת בלבד מכיוון ש- Live TV לא יכול להבדיל בין מסנני כוונות בפעילות עם אותה קטגוריה עקב מגבלת Android. ראה טיפול במספר אפשרויות בפעילות לפתרון מעקף.

יצרני מכשירים יכולים גם להציב אפשרות מותאמת אישית לפני או אחרי האפשרויות הקיימות על ידי הגדרת android:priority ב- AndroidManifest.xml . אפשרות עם ערך עדיפות מוגדר נמוך מ-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 . דגום אפשרויות טלוויזיה מותאמות אישית.

טיפול במספר אפשרויות בפעילות

אפשרות ממפה למסנן הכוונות של פעילות ולהיפך. מכיוון שאנדרואיד לא מבדיל בין מסנני כוונות עם אותן קטגוריות ופעולות, פעילות מטפלת רק באפשרות אחת, גם אם מוצהרים בה מספר מסנני כוונות. כדי לטפל במספר אפשרויות בפעילות, השתמש ב- <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 . דו-שיח לאפשרות מותאמת אישית לדוגמה.