ใช้วิทยุกับสื่อ

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 ข้อความแสดงข้อผิดพลาดและข้อความอื่นๆ ที่ระบุโดยแอปสื่อจะต้องมีความยาวไม่เกิน ความยาวที่กำหนด