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

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