การเปลี่ยนแปลงบริการที่ทำงานอยู่เบื้องหน้า

เอกสารประกอบเกี่ยวกับบริการที่ทำงานอยู่เบื้องหน้าจะอธิบายลักษณะการทำงานปัจจุบันของ บริการที่ทำงานอยู่เบื้องหน้าของ Android เอกสารประกอบนี้ให้คำแนะนำเกี่ยวกับแนวทางปฏิบัติแนะนำสำหรับแอปส่วนใหญ่ ไม่ว่าแอปเหล่านั้นจะกำหนดเป้าหมายเป็น Android เวอร์ชันล่าสุดหรือไม่ก็ตาม

หน้านี้อธิบายการเปลี่ยนแปลงที่สำคัญล่าสุดบางอย่างเกี่ยวกับบริการที่ทำงานอยู่เบื้องหน้า และผลกระทบต่อแอปที่ไม่ได้กำหนดเป้าหมายเป็นแพลตฟอร์ม Android เวอร์ชันล่าสุด ในหลายกรณี แนวทางปฏิบัติแนะนำที่ เป็นทางเลือกสำหรับแอปที่กำหนดเป้าหมายเป็น API ระดับต่ำกว่าจะกลายเป็นข้อบังคับสำหรับแอป ที่กำหนดเป้าหมายเป็น API ระดับสูงกว่า

Android 16 (API ระดับ 36)

การเปลี่ยนแปลงต่อไปนี้มีผลกับแอปที่ทำงานบน Android 16 ขึ้นไป โดยไม่คำนึงถึงระดับ API ที่แอปกำหนดเป้าหมาย

  • ตอนนี้งานที่ทำงานอยู่เบื้องหลังซึ่งเริ่มจากบริการที่ทำงานอยู่เบื้องหน้าต้องเป็นไปตามโควต้ารันไทม์ของตนเอง ซึ่งรวมถึงงานที่กำหนดเวลาโดยตรงด้วย JobScheduler รวมถึงงานที่สร้างโดยไลบรารีอื่นๆ เช่น WorkManager หรือ DownloadManager

    หากต้องการโอนข้อมูลเพื่อตอบสนองต่อการดำเนินการของผู้ใช้ ให้พิจารณาใช้งานการโอนข้อมูลที่เริ่มต้นโดยผู้ใช้ งานเหล่านี้ได้รับการยกเว้นจาก โควตางานปกติ

Android 15 (API ระดับ 35)

ข้อกำหนดต่อไปนี้ใช้กับแอปที่กำหนดเป้าหมายเป็น API ระดับ 35 ขึ้นไป

Android 14 (API ระดับ 34)

ข้อกำหนดต่อไปนี้มีผลกับแอปที่กำหนดเป้าหมายเป็น API ระดับ 34 ขึ้นไป

Android 12 (API ระดับ 31)

ข้อกำหนดต่อไปนี้มีผลกับแอปที่กำหนดเป้าหมายเป็น API ระดับ 31 ขึ้นไป

Android 11 (API ระดับ 30)

ข้อกำหนดต่อไปนี้มีผลกับแอปที่กำหนดเป้าหมายเป็น API ระดับ 30 ขึ้นไป

  • หากบริการที่ทำงานอยู่เบื้องหน้าของแอปใช้กล้องหรือไมโครโฟน แอปจะต้องประกาศบริการที่มีประเภทบริการเป็น camera หรือ microphone ตามลำดับ

Android 10 (API ระดับ 29)

ข้อกำหนดต่อไปนี้มีผลกับแอปที่กำหนดเป้าหมายเป็น API ระดับ 29 ขึ้นไป

  • หากบริการที่ทำงานอยู่เบื้องหน้าของแอปใช้ข้อมูลตำแหน่ง แอปจะต้อง ประกาศบริการที่มีประเภทบริการ location

Android 9 (API ระดับ 28)

Android 9 เปิดตัวสิทธิ์ FOREGROUND_SERVICE แอปที่ทำงานบน Android 9 ซึ่งใช้บริการที่ทำงานอยู่เบื้องหน้าต้องมีสิทธิ์ดังกล่าว

หากแอปที่กำหนดเป้าหมายเป็น API ระดับ 28 ขึ้นไปพยายาม สร้างบริการที่ทำงานอยู่เบื้องหน้าโดยไม่ขอFOREGROUND_SERVICE สิทธิ์ ระบบจะแสดง SecurityException