รายการทีวีสดเป็นแอปทีวีอ้างอิงซึ่งออกแบบมาสำหรับอุปกรณ์ทีวี Android อย่างไรก็ตาม ผู้ผลิตอุปกรณ์อาจต้องการเพิ่มฟังก์ชันเฉพาะผลิตภัณฑ์เพิ่มเติม ซึ่งไม่ครอบคลุมในการใช้งานทีวีสดเริ่มต้น เช่น การปรับภาพ โหมดเกม หรือโหมด 3 มิติ รายการทีวีสดรองรับการปรับแต่งต่อไปนี้เพื่อรองรับฟังก์ชันหรือตัวเลือกเฉพาะอุปกรณ์
- เปิดใช้โหมดการเปลี่ยนเวลา ซึ่งช่วยให้ผู้ใช้หยุดชั่วคราว กรอไปข้างหน้า และกรอกลับได้ การกำหนดค่าโหมดการเลื่อนเวลาเพื่อใช้ที่จัดเก็บข้อมูลภายนอกแทนที่จัดเก็บข้อมูลภายใน
- การเพิ่มตัวเลือกลงในแถวตัวเลือกทีวี
- การเพิ่มแถวที่กำหนดเองและเพิ่มตัวเลือกในแถวนั้น
หมายเหตุ: ช่องถ่ายทอดสดคือการใช้งานทีวีสดของ Google ซึ่งสามารถใช้งานได้ในอุปกรณ์ที่มีบริการของ Google หากต้องการปรับแต่งช่องถ่ายทอดสด ให้แทนที่ com.android.tv.*
ด้วย com.google.android.tv.*
ในวิธีการเหล่านี้
ปรับแต่งรายการทีวีสด
หากต้องการปรับแต่งรายการทีวีสด อุปกรณ์ Android TV เป้าหมายจะต้องติดตั้งแพ็กเกจการปรับแต่ง ซึ่งต้องเป็นแอประบบที่สร้างไว้ล่วงหน้าที่มีสิทธิ์ com.android.tv.permission.CUSTOMIZE_TV_APP
ทีวีสดจะค้นหาแพ็กเกจระบบที่มีสิทธิ์นี้ ตรวจสอบไฟล์ทรัพยากร และตรวจหากิจกรรมของแพ็กเกจที่มีการทำเครื่องหมายหมวดหมู่ที่เฉพาะเจาะจงเพื่อประมวลผลการปรับเปลี่ยนในแบบของคุณ
ประเด็นสำคัญ: ปรับแต่งรายการทีวีสดได้เพียง 1 แพ็กเกจเท่านั้น
กำหนดค่าโหมดเลื่อนเวลา
การเปลี่ยนเวลา (การหยุดชั่วคราว) ช่วยให้อุปกรณ์ทีวี Android สามารถหยุดชั่วคราว กรอกลับ และกรอไปข้างหน้าการเล่นของช่องได้ ในการใช้งานรายการทีวีสด คุณจะใช้การเลื่อนเวลาได้ผ่าน UI ตัวควบคุมการเล่น ระบบจะเปิดใช้การเลื่อนเวลาในรายการทีวีสดโดยค่าเริ่มต้น แต่คุณปิดได้ นอกจากนี้ คุณยังกำหนดค่าการเลื่อนเวลาให้ใช้พื้นที่เก็บข้อมูลภายนอกเท่านั้นได้ด้วย
หากต้องการกำหนดค่าการเปลี่ยนเวลา ให้เพิ่มทรัพยากรสตริง trickplay_mode
และตั้งค่าเป็นตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
enabled
: เปิดใช้การเลื่อนเวลา ค่านี้เป็นค่าเริ่มต้นเมื่อไม่มีตัวเลือกdisabled
: ปิดใช้การเลื่อนเวลาuse_external_storage_only
: กำหนดค่าการเลื่อนเวลาเพื่อใช้พื้นที่เก็บข้อมูลภายนอก
<string name="trickplay_mode">use_external_storage_only</string>

รูปที่ 1 UI การควบคุมการเล่นจะเปิดใช้งานหลังจากกดปุ่มตรงกลางของปุ่มบังคับทิศทาง
ปรับแต่งตัวเลือกทีวี
ผู้ผลิตอุปกรณ์สามารถเพิ่มตัวเลือกที่กำหนดเองสำหรับการตั้งค่าทีวีสดลงในเมนูตัวเลือกทีวีที่มีอยู่ เช่น เพิ่มทางลัดไปยังการตั้งค่าภาพและเสียง
หากต้องการระบุตัวเลือกที่กำหนดเอง ให้ประกาศ Intent Filter ที่กรองหมวดหมู่ com.android.tv.category.OPTIONS_ROW
ในกิจกรรม ผู้ผลิตอุปกรณ์ติดตั้งใช้งานฟีเจอร์ที่กำหนดเองในกิจกรรม กิจกรรมจะเปิดขึ้นหากมีการคลิกตัวเลือก ระบบจะใช้ชื่อและไอคอนของกิจกรรมสำหรับตัวเลือกนี้ ตัวเลือกทีวีที่กําหนดเองควรตรงกับ UI ที่มีอยู่เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดีที่สุด
หมายเหตุ: กิจกรรมหนึ่งๆ จะจัดการได้เพียง 1 ตัวเลือกเท่านั้น เนื่องจาก 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 ตัวอย่างกล่องโต้ตอบตัวเลือกที่กำหนดเอง