ปรับแต่งแอปข้อมูลอ้างอิงทีวี

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตัวเลือกจะแมปกับตัวกรอง Intent ของกิจกรรม และในทางกลับกันด้วย เนื่องจาก Android จะไม่แยกแยะตัวกรอง Intent ที่มีหมวดหมู่และการทำงานเหมือนกัน กิจกรรมจะจัดการเพียงตัวเลือกเดียว แม้ว่าจะมีการระบุตัวกรอง Intent ไว้หลายรายการ อยู่ในนั้น ในการจัดการตัวเลือกหลายรายการในกิจกรรม ให้ใช้ <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 ตัวอย่างกล่องโต้ตอบตัวเลือกที่กำหนดเอง