ในการเปิดตัว Android แต่ละครั้ง การเปลี่ยนแปลง API และลักษณะการทำงานจะส่งผลต่อวิธีที่แอปทำงานใน Android Auto และ Android Automotive OS หน้านี้จะอธิบายรายละเอียดผลกระทบเหล่านี้ และให้ข้อมูลเกี่ยวกับวิธีอัปเดตแอปเพื่อรองรับ Android เวอร์ชันใหม่
Android 16
- Android Auto ใช้การลบล้างเจ้าของอุปกรณ์เสมือนเพื่อไม่สนใจข้อจำกัดด้าน การวางแนว อัตราส่วนภาพ และการปรับขนาดเมื่อเรียกใช้แอปที่จอดรถ
- หากแอปใช้การอัปเดต Android 16 สำหรับ Intent ที่ปลอดภัยยิ่งขึ้น คุณอาจต้อง
ระบุแอตทริบิวต์
android:intentMatchingFlags
ขององค์ประกอบ<service>
สำหรับCarAppService
เป็นallowNullAction
เพื่ออนุญาตให้ Android Auto และ Android Automotive OS เชื่อมต่อกับบริการของคุณ
Android 15
- เนื่องจากการเปลี่ยนแปลงการแทรกหน้าต่างสำหรับแอปที่กำหนดเป้าหมายเป็น Android 15 ขึ้นไป คุณควรทดสอบแอปที่เผยแพร่ไปยัง Android Automotive OS เพื่อยืนยันว่ากิจกรรมที่แอปของคุณใช้งานแสดงผลตามที่ต้องการ ดูรายละเอียดเพิ่มเติมเกี่ยวกับข้อควรพิจารณาเฉพาะสำหรับ Android Automotive OS ได้ที่ทำงานร่วมกับ Window Insets และส่วนเว้าของจอแสดงผล
Android 14
- เนื่องจากข้อกำหนดสำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 ขึ้นไปที่ต้องมีประเภทบริการที่ทำงานอยู่เบื้องหน้า โปรดตรวจสอบว่าคุณได้ระบุประเภทบริการที่ทำงานอยู่เบื้องหน้าสำหรับบริการที่ทำงานอยู่เบื้องหน้าทั้งหมดที่แอปมี เช่น บริการสำหรับการนำทางและการเล่นสื่อ
- เนื่องจากข้อกำหนดสำหรับแอปที่กำหนดเป้าหมายเป็น Android 14 ขึ้นไปที่Broadcast Receiver ที่ลงทะเบียนรันไทม์ต้องระบุลักษณะการส่งออก แอปที่ใช้ API
CarConnection
ควรจะอัปเดตเป็นandroidx.car.app:app:1.3.0-beta01
ขึ้นไป ดู Connection API - เนื่องจากมีการเปลี่ยนแปลงใน Android Auto เมื่อเรียกใช้ในอุปกรณ์ Android 14 ขึ้นไป การเปิดกิจกรรมบนหน้าจอโทรศัพท์จากแอป Android Auto จึงต้องระบุ
ActivityOptions
โดยตั้งค่ารหัสการแสดงผลเป็นรหัสของจอแสดงผลโทรศัพท์ (DEFAULT_DISPLAY
) เมื่อเรียกใช้startActivity()
- แอปที่ใช้วิธี
CarContext.requestPermissions()
ควร อัปเดตเป็นandroidx.car.app:app:1.7.0-alpha01
ขึ้นไป ซึ่งรวมถึงการแก้ไขนี้ ด้วย
- แอปที่ใช้วิธี
Android 13
- สำหรับแอปที่สร้างขึ้นโดยใช้ไลบรารีแอป Android สำหรับรถยนต์ ภาษาของ
Configuration
ที่CarContext
ระบุจะแสดงค่ากำหนดภาษา ต่อแอปพลิเคชันสำหรับแอปโฮสต์ ไม่ใช่ของแอปคุณ
Android 12
- ในอุปกรณ์ที่ใช้ Android 12 ขึ้นไป Android Auto จะไม่เปลี่ยนโหมด UI ของอุปกรณ์เมื่อทำงาน ดูฉันจะตรวจหาว่า Android Auto ทํางานอยู่หรือไม่ได้อย่างไร
- เนื่องจากข้อกำหนดการส่งออกคอมโพเนนต์ที่ปลอดภัยยิ่งขึ้นสำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 ขึ้นไป คุณต้องประกาศแอตทริบิวต์
android:exported
อย่างชัดแจ้งในองค์ประกอบ<service>
สำหรับบริการMediaBrowserService
และCarAppService
- เนื่องจากข้อกำหนดการเปลี่ยนแปลง PendingIntent สำหรับแอปที่กำหนดเป้าหมายเป็น Android 12 ขึ้นไป คุณต้องระบุการเปลี่ยนแปลงของ PendingIntent ที่แอปสร้างขึ้นอย่างชัดเจน ตัวอย่างเช่น รวมถึง PendingIntent ที่แอปส่งข้อความใช้เพื่อจัดการการตอบกลับข้อความหรือทำเครื่องหมายว่าอ่านแล้ว