Radio UI ถูกนำมาใช้เป็นแอปอิสระ คำแนะนำเกี่ยวกับวิธีการรวม Radio UI เข้ากับฮาร์ดแวร์วิทยุสามารถดูได้ที่ Implement radio
ส่วนต่อไปนี้จะอธิบายวิธีรวม Radio UI เข้ากับสื่อ เพื่อให้ผู้ใช้ได้รับประสบการณ์ที่ราบรื่น ซึ่งช่วยให้ผู้ใช้สามารถโต้ตอบกับแหล่งสื่อและวิทยุราวกับว่าพวกเขาเป็นแอปเดียว
กระแสผู้ใช้สลับแหล่งสื่อ
แผนภาพต่อไปนี้แสดงให้เห็นว่าการใช้งานอ้างอิงของวิทยุและสื่อปรับใช้โฟลว์ผู้ใช้ในการสลับแอปอย่างไร
รูปที่ 1 ขั้น ตอนผู้ใช้ในการสลับแหล่งสื่อ
เพื่อให้การเปลี่ยนผ่านระหว่างวิทยุและแอปอื่นๆ ในสื่อเป็นไปอย่างราบรื่น ไลบรารี car-media-common
จะกำหนด Intent ของ Android ที่สามารถใช้เพื่อเรียกใช้ตัวเลือกแหล่งที่มาของสื่อได้ ใน AOSP ตัวเลือกนี้จะถูกนำมาใช้ในตัวเรียกใช้งานแอป โดยนำเสนอ UI เดียวกันสำหรับการเปิดแอป แต่ถูกกรองเพื่อแสดงเฉพาะแหล่งที่มาของสื่อ
OEM สามารถเลือกใช้งาน App Launcher ในปัจจุบันตามที่เป็นอยู่ หรือใช้ตัวเลือกแหล่งที่มาของสื่อที่ปรับแต่งเองได้
ตัวเลือกสามารถทำงานในสองโหมด:
- การไหลปกติ หลังจากใช้ตัวเลือก แหล่งที่เลือกจะแสดงในสื่อเพื่อให้ผู้ใช้สามารถเรียกดูเนื้อหาได้
- เป็นสวิตช์ ตัวเลือกใช้เพื่อสลับแหล่งสัญญาณ แต่สื่อจะไม่แสดงให้ผู้ใช้เห็น นี่เป็นเรื่องจริงกับไอคอนตัวเลือกบนโฮมเพจ หลังจากเลือกแหล่งที่มาแล้ว หน้าจอก่อนหน้าล่าสุดจะแสดงต่อผู้ใช้ (ในกรณีนี้คือ หน้าหลัก)
จุดประสงค์ที่ใช้ในการสลับระหว่างแหล่งสื่อสามารถรับได้จากเมธอด MediaSource#getSourceSelectorIntent()
ซึ่งยอมรับ popup
อัปบูลีนที่ส่งคืนความตั้งใจที่จะเปิดตัวแต่ละโฟลว์ที่อธิบายไว้ข้างต้น
เจตนาที่แท้จริงถูกกำหนดไว้ที่ packages/apps/Car/libs/car-media-common/res/values/config.xml
หากต้องการปรับแต่งการกำหนดค่านี้ ให้ใช้การซ้อนทับเวลาบิลด์
แทนที่แอปวิทยุ
เนื่องจากแอป Radio ใช้การเรียกดูสื่อและเซสชันสื่อ วิทยุจึงแสดงในตัวเปิดใช้แอป เพื่อป้องกันการเปิดสื่อเมื่อผู้ใช้คลิกไอคอน จำเป็นต้องมีสององค์ประกอบ วิทยุ ต้อง :
- มีกิจกรรม ตัวเรียกใช้งาน
- ได้รับการประกาศเป็น แหล่งที่กำหนดเอง โดยเพิ่มชื่อส่วนประกอบลงในคีย์
custom_media_packages
ในcar-media-common/res/values/config.xml
ข้อจำกัดในการขับขี่ UX
สื่อต้องปฏิบัติตามข้อจำกัดในการเบี่ยงเบนความสนใจในการขับขี่ UX ทั้งหมด ในการทำเช่นนั้น Media จะต้องรับฟัง CarUXRestrictionManager และใช้นโยบายทั้งหมด
- สื่อจะต้องเชื่อมต่อกับห้องสมุด รถยนต์ และรับอินสแตนซ์ของ CarUXRestrictionManager
- สื่อจะต้องสมัครรับการอัปเดตในรายการ CarUxRestrictions และนำไปใช้ตามที่ระบุไว้
- สิ่งสำคัญอย่างยิ่งสำหรับสื่อคือ:
-
UX_RESTRICTIONS_NO_SETUP
ในกรณีนี้ ขั้นตอนการลงชื่อเข้าใช้จะต้องถูกปิดใช้งาน -
UX_RESTRICTIONS_LIMIT_STRING_LENGTH
ข้อความแสดงข้อผิดพลาดและข้อความอื่นๆ ที่ได้รับจากแอปสื่อจะต้องจำกัดตามความยาวที่กำหนด
-