ใช้วิทยุกับ Media

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