เอกสารประกอบเกี่ยวกับบริการที่ทำงานอยู่เบื้องหน้าอธิบายลักษณะการทำงานปัจจุบันของบริการที่ทำงานอยู่เบื้องหน้าของ Android เอกสารประกอบมีคำแนะนำเกี่ยวกับแนวทางปฏิบัติแนะนำสำหรับแอปส่วนใหญ่ ไม่ว่าจะกำหนดเป้าหมายเป็น Android เวอร์ชันล่าสุดหรือไม่ก็ตาม
หน้านี้จะอธิบายการเปลี่ยนแปลงที่สำคัญล่าสุดบางอย่างเกี่ยวกับบริการที่ทำงานอยู่เบื้องหน้า และผลกระทบต่อแอปที่ไม่ได้กำหนดเป้าหมายเป็นแพลตฟอร์ม Android เวอร์ชันล่าสุด ในหลายกรณี แนวทางปฏิบัติแนะนำที่ไม่บังคับสำหรับแอปที่กำหนดเป้าหมายเป็น API ระดับต่ำกว่าจะกลายเป็นแนวทางปฏิบัติบังคับสำหรับแอปที่กำหนดเป้าหมายเป็น API ระดับสูงกว่า
Android 9 (API ระดับ 28)
Android 9 เปิดตัวสิทธิ์
FOREGROUND_SERVICE
แอปที่ทำงานใน Android 9 ที่ใช้บริการที่ทำงานอยู่เบื้องหน้าต้องมีสิทธิ์ดังกล่าว
หากแอปที่กำหนดเป้าหมายเป็น API ระดับ 28 ขึ้นไปพยายามสร้างบริการที่ทำงานอยู่เบื้องหน้าโดยไม่ขอสิทธิ์ FOREGROUND_SERVICE
ระบบจะแสดงข้อผิดพลาด SecurityException
Android 10 (API ระดับ 29)
ข้อกำหนดต่อไปนี้มีผลบังคับใช้กับแอปที่กำหนดเป้าหมายเป็น API ระดับ 29 ขึ้นไป
- หากบริการที่ทำงานอยู่เบื้องหน้าของแอปใช้ข้อมูลตำแหน่ง แอปจะต้องประกาศบริการด้วยประเภทบริการ
location
Android 11 (API ระดับ 30)
ข้อกำหนดต่อไปนี้มีผลบังคับใช้กับแอปที่กำหนดเป้าหมายเป็น API ระดับ 30 ขึ้นไป
- หากบริการที่ทำงานอยู่เบื้องหน้าของแอปใช้กล้องหรือไมโครโฟน แอปจะต้องประกาศบริการด้วยประเภทบริการ
camera
หรือmicrophone
ตามลำดับ
Android 12 (API ระดับ 31)
ข้อกำหนดต่อไปนี้มีผลบังคับใช้กับแอปที่กำหนดเป้าหมายเป็น API ระดับ 31 ขึ้นไป
- แอปไม่ได้รับอนุญาตให้เปิดบริการที่ทำงานอยู่เบื้องหน้าขณะที่แอปอยู่ในเบื้องหลัง โดยมีข้อยกเว้นบางประการ ดูข้อมูลเพิ่มเติมและข้อมูลเกี่ยวกับข้อยกเว้นของกฎนี้ได้ที่ข้อจํากัดในการเริ่มบริการที่ทำงานอยู่เบื้องหน้าจากเบื้องหลัง
Android 14 (API ระดับ 34)
ข้อกำหนดต่อไปนี้มีผลบังคับใช้กับแอปที่กำหนดเป้าหมายเป็น API ระดับ 34 ขึ้นไป
- คุณต้องประกาศบริการที่ทำงานอยู่เบื้องหน้าทั้งหมดพร้อมประเภทบริการ
- แอปต้องขอสิทธิ์ประเภทที่เหมาะสมกับประเภทของงานที่บริการที่ทำงานอยู่เบื้องหน้าจะทำ บริการที่ทำงานอยู่เบื้องหน้าแต่ละประเภทมีสิทธิ์ประเภทหนึ่งๆ ที่เกี่ยวข้อง ตัวอย่างเช่น หากแอปเปิดบริการที่ทำงานอยู่เบื้องหน้าซึ่งใช้กล้อง คุณต้องขอสิทธิ์ทั้ง
FOREGROUND_SERVICE
และFOREGROUND_SERVICE_CAMERA
หากแอปกำหนดเป้าหมายเป็น API ระดับ 34 ขึ้นไปและไม่ขอสิทธิ์เฉพาะที่เหมาะสม ระบบจะแสดงSecurityException
Android 15 (API ระดับ 35)
ข้อกำหนดต่อไปนี้ใช้กับแอปที่กำหนดเป้าหมายเป็น API ระดับ 35 ขึ้นไป
- มีข้อจำกัดใหม่เกี่ยวกับระยะเวลาที่
dataSync
บริการที่ทำงานอยู่เบื้องหน้าสามารถทำงานได้ ข้อจำกัดเหล่านี้อธิบายไว้ในลักษณะการหมดเวลาของบริการที่ทำงานอยู่เบื้องหน้า ข้อจำกัดที่คล้ายกันจะมีผลกับประเภทบริการที่ทำงานอยู่เบื้องหน้าmediaProcessing
(ใหม่ใน Android 15) BOOT_COMPLETED
บริการที่ทำงานอยู่เบื้องหน้าบางประเภทไม่ได้รับอนุญาตให้เปิดบริการที่ทำงานอยู่เบื้องหน้าอีกต่อไป- แอปที่มีสิทธิ์
SYSTEM_ALERT_WINDOW
ได้รับอนุญาตให้เปิดบริการที่ทำงานอยู่เบื้องหน้าจากเบื้องหลังก็ต่อเมื่อมีหน้าต่างวางซ้อนที่มองเห็นได้ (หรือเป็นไปตามข้อยกเว้นข้อใดข้อหนึ่งจากข้อจำกัดการเริ่มทำงานจากเบื้องหลัง) ก่อนหน้านี้การยกเว้นสำหรับแอปเหล่านั้นครอบคลุมมากกว่า