UI ของวิทยุจะติดตั้งใช้งานเป็นแอปอิสระ โปรดดูวิธีการผสานรวม UI ของวิทยุเข้ากับฮาร์ดแวร์ของวิทยุที่หัวข้อติดตั้งใช้งานวิทยุ
ส่วนต่อไปนี้จะอธิบายวิธีผสานรวม UI วิทยุกับสื่อเพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ราบรื่น ซึ่งช่วยให้ผู้ใช้โต้ตอบกับแหล่งที่มาของสื่อและวิทยุได้ราวกับเป็นแอปเดียว
โฟลว์ผู้ใช้การเปลี่ยนแหล่งที่มาของสื่อ
แผนภาพต่อไปนี้แสดงวิธีที่การติดตั้งใช้งานอ้างอิงของ Radio and Media ใช้เวิร์กโฟลว์การเปลี่ยนแอปของผู้ใช้
รูปที่ 1 โฟลว์การเปลี่ยนแหล่งที่มาของสื่อของผู้ใช้
ไลบรารี car-media-common
จะกำหนด Intent ของ Android ที่ใช้เปิดเครื่องมือเลือกแหล่งที่มาของสื่อได้ เพื่อให้การเปลี่ยนจากวิทยุไปยังแอปอื่นๆ ในสื่อเป็นไปอย่างราบรื่น ใน AOSP ตัวเลือกนี้ใช้งานในเครื่องเรียกใช้งานแอป โดยแสดง UI เดียวกันสำหรับการเปิดแอป แต่ถูกกรองออกเพื่อแสดงเฉพาะแหล่งที่มาของสื่อ
OEM สามารถเลือกที่จะใช้ App Launcher เวอร์ชันปัจจุบันตามที่เป็นอยู่ หรือจะใช้ตัวเลือกแหล่งที่มาของสื่อที่กำหนดเองก็ได้
ตัวเลือกนี้ทํางานได้ 2 โหมด ดังนี้
- ขั้นตอนปกติ หลังจากใช้ตัวเลือกแล้ว แหล่งที่มาที่เลือกจะแสดงในสื่อเพื่อให้ผู้ใช้เรียกดูเนื้อหาได้
- ในฐานะสวิตช์ ใช้ตัวเลือกเพื่อสลับแหล่งที่มา แต่สื่อจะไม่แสดงต่อผู้ใช้ ซึ่งรวมถึงไอคอนตัวเลือกในหน้าแรก หลังจากเลือกแหล่งที่มาแล้ว ระบบจะแสดงหน้าจอก่อนหน้าล่าสุดต่อผู้ใช้ (ในกรณีนี้คือหน้าแรก)
Intent ที่ใช้ในการสลับระหว่างแหล่งที่มาของสื่อสามารถหาได้จากเมธอด MediaSource#getSourceSelectorIntent()
ซึ่งยอมรับบูลีน popup
ที่แสดงความตั้งใจที่จะเปิดแต่ละโฟลว์ที่อธิบายไว้ข้างต้น
Intent จริงกำหนดไว้ที่ packages/apps/Car/libs/car-media-common/res/values/config.xml
หากต้องการปรับแต่งการกำหนดค่านี้ ให้ใช้การวางซ้อนเวลาสร้าง
แทนที่แอปวิทยุ
เนื่องจากแอปวิทยุใช้การเรียกดูสื่อและเซสชันสื่อ แอปวิทยุจึงแสดงในตัวเปิดแอป จำเป็นต้องมีองค์ประกอบ 2 องค์ประกอบเพื่อป้องกันการเปิดสื่อเมื่อผู้ใช้คลิกไอคอน วิทยุต้องมีลักษณะดังนี้
- มีกิจกรรมตัวเปิด
- ประกาศเป็นแหล่งที่มาที่กําหนดเอง วิธีการคือเพิ่มชื่อคอมโพเนนต์ลงในคีย์
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
ข้อความแสดงข้อผิดพลาดและข้อความอื่นๆ ที่ระบุโดยแอปสื่อจะต้องมีความยาวไม่เกิน ความยาวที่กำหนด