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

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