ปรับแต่งแอปทีวีอ้างอิง

Live TV เป็นแอปทีวีอ้างอิงที่ออกแบบมาสำหรับอุปกรณ์โทรทัศน์ Android อย่างไรก็ตาม ผู้ผลิตอุปกรณ์อาจต้องการเพิ่มฟังก์ชันเฉพาะผลิตภัณฑ์เพิ่มเติม ซึ่งไม่ครอบคลุมอยู่ในการใช้งานเริ่มต้นของ Live TV เช่น การปรับภาพ โหมดเกม หรือโหมด 3D เพื่อรองรับฟังก์ชันหรือตัวเลือกเฉพาะอุปกรณ์เหล่านี้ Live TV รองรับการปรับแต่งเหล่านี้:

  • การเปิดใช้งานโหมดการเปลี่ยนเวลา ซึ่งช่วยให้ผู้ใช้สามารถหยุดชั่วคราว กรอไปข้างหน้า และย้อนกลับได้ การกำหนดค่าโหมดเลื่อนเวลาเพื่อใช้ที่จัดเก็บข้อมูลภายนอกแทนการจัดเก็บข้อมูลภายใน
  • การเพิ่มตัวเลือกให้กับแถวตัวเลือกทีวี
  • การเพิ่มแถวที่กำหนดเองและเพิ่มตัวเลือกลงไป

หมายเหตุ : Live Channels คือการใช้งาน Live TV ของ Google ซึ่งสามารถใช้งานได้บนอุปกรณ์ที่มีบริการของ Google หากต้องการปรับแต่ง Live Channels ให้แทนที่ com.android.tv.* ด้วย com.google.android.tv.* ในคำแนะนำเหล่านี้

ปรับแต่งรายการสดทางทีวี

ในการปรับแต่ง Live TV อุปกรณ์ Android TV เป้าหมายจำเป็นต้องติดตั้งแพ็คเกจปรับแต่ง ซึ่งต้องเป็นแอประบบที่สร้างไว้ล่วงหน้าที่มีสิทธิ์ com.android.tv.permission.CUSTOMIZE_TV_APP

Live TV ค้นหาแพ็คเกจระบบด้วยสิทธิ์นี้ ตรวจสอบไฟล์ทรัพยากร และตรวจพบ กิจกรรม ของแพ็คเกจที่ทำเครื่องหมายด้วย หมวดหมู่ เฉพาะเพื่อประมวลผลการปรับแต่ง

ประเด็นสำคัญ : มีเพียงแพ็คเกจเดียวเท่านั้นที่สามารถปรับแต่ง Live TV ได้

กำหนดค่าโหมดการเปลี่ยนเวลา

การเลื่อนเวลา (เล่นหลอก) ช่วยให้อุปกรณ์โทรทัศน์ Android สามารถหยุดชั่วคราว กรอกลับ และเล่นช่องไปข้างหน้าอย่างรวดเร็ว ในการใช้งาน Live TV การเลื่อนเวลาสามารถใช้ได้ผ่าน UI การควบคุม Play การเลื่อนเวลาจะเปิดใช้งานตามค่าเริ่มต้นใน Live TV แต่สามารถปิดใช้งานได้ สามารถกำหนดค่าการเลื่อนเวลาเพื่อใช้ที่จัดเก็บข้อมูลภายนอกเท่านั้น

หากต้องการกำหนดค่าการเลื่อนเวลา ให้เพิ่มทรัพยากรสตริง trickplay_mode และตั้งค่าให้เป็นหนึ่งในตัวเลือกเหล่านี้:

  • enabled : เปิดใช้งานการเปลี่ยนเวลา นี่เป็นค่าเริ่มต้นเมื่อไม่ได้ระบุตัวเลือกไว้
  • disabled : ปิดการใช้งานการเปลี่ยนเวลา
  • use_external_storage_only : กำหนดค่าการเปลี่ยนเวลาเพื่อใช้ที่จัดเก็บข้อมูลภายนอก
<string name="trickplay_mode">use_external_storage_only</string>
UI ควบคุมการเล่นจะเปิดใช้งานหลังจากกดปุ่มกลาง D-pad

รูปที่ 1 . UI ควบคุมการเล่น จะเปิดใช้งานหลังจากกดปุ่มกลาง D-pad

ปรับแต่งตัวเลือกทีวี

ผู้ผลิตอุปกรณ์สามารถเพิ่มตัวเลือกแบบกำหนดเองสำหรับการตั้งค่า Live TV ไปยังเมนูตัวเลือกทีวีที่มีอยู่ เช่น การเพิ่มทางลัดไปยังการตั้งค่าภาพเสียง

หากต้องการระบุตัวเลือกที่กำหนดเอง ให้ประกาศตัวกรองเจตนาที่กรองหมวดหมู่ com.android.tv.category.OPTIONS_ROW ในกิจกรรม ผู้ผลิตอุปกรณ์จะใช้งานฟีเจอร์แบบกำหนดเองในกิจกรรม กิจกรรมจะเปิดขึ้นหากมีการคลิกตัวเลือก ชื่อและไอคอนของกิจกรรมใช้สำหรับตัวเลือก ตัวเลือกทีวีที่ปรับแต่งเองควรตรงกับ UI ที่มีอยู่เพื่อมอบประสบการณ์ผู้ใช้ที่ดีที่สุด

หมายเหตุ : กิจกรรมสามารถจัดการได้เพียงตัวเลือกเดียวเท่านั้น เนื่องจาก 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 ตัวอย่างตัวเลือกทีวีแบบกำหนดเอง

จัดการหลายตัวเลือกในกิจกรรม

ตัวเลือกจะจับคู่กับตัวกรองเจตนาของกิจกรรมและในทางกลับกัน เนื่องจาก 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 . ตัวอย่างกล่องโต้ตอบตัวเลือกแบบกำหนดเอง