เราจะทำการเปลี่ยนแปลงต่อไปนี้กับประเภทบริการที่ทำงานอยู่เบื้องหน้าใน Android 15
กำลังประมวลผลสื่อ
- ประเภทบริการที่ทำงานอยู่เบื้องหน้าที่จะประกาศในไฟล์ Manifest ในส่วน
android:foregroundServiceType
mediaProcessing
- สิทธิ์ในการประกาศในไฟล์ Manifest
FOREGROUND_SERVICE_MEDIA_PROCESSING
- ค่าคงที่ที่จะส่งไปยัง
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- ข้อกําหนดเบื้องต้นของรันไทม์
- ไม่มี
- คำอธิบาย
บริการสําหรับดําเนินการกับชิ้นงานสื่อที่ใช้เวลานาน เช่น การเปลี่ยนรูปแบบสื่อ ระบบอนุญาตให้บริการนี้ทำงานได้ในช่วงเวลาที่จำกัด โดยปกติแล้วขีดจำกัดเวลานี้จะเท่ากับ 6 ชั่วโมงจาก 24 ชั่วโมง (ขีดจำกัดนี้จะแชร์โดย
mediaProcessing
บริการที่ทำงานอยู่เบื้องหน้าทั้งหมดของแอป)แอปของคุณควรหยุดบริการประมวลผลสื่อด้วยตนเองในสถานการณ์ต่อไปนี้
- เมื่อการดำเนินการเปลี่ยนรูปแบบเสร็จสิ้นหรือถึงสถานะไม่สำเร็จ ให้เรียกใช้บริการ
Service.stopForeground()
และService.stopSelf()
เพื่อหยุดบริการโดยสมบูรณ์
- เมื่อการดำเนินการเปลี่ยนรูปแบบเสร็จสิ้นหรือถึงสถานะไม่สำเร็จ ให้เรียกใช้บริการ
หากถึงระยะเวลาหมดเวลา ระบบจะเรียกใช้เมธอด
Service.onTimeout(int, int)
ของบริการ ขณะนี้บริการมีเวลา 2-3 วินาทีในการเรียกService.stopSelf()
หากบริการไม่ได้เรียกใช้Service.stopSelf()
ระบบจะแสดง ANR พร้อมข้อความแสดงข้อผิดพลาด "บริการที่ทำงานอยู่เบื้องหน้าของ <fgs_type> ไม่ได้หยุดภายในระยะหมดเวลา: <component_name>"หมายเหตุ:
Service.onTimeout(int, int)
ไม่พร้อมใช้งานใน Android 14 หรือต่ำกว่า ในอุปกรณ์ที่ใช้เวอร์ชันดังกล่าว หากบริการประมวลผลสื่อถึงระยะเวลาหมดเวลา ระบบจะแคชแอปทันที ด้วยเหตุนี้ แอปของคุณจึงไม่ควรรอรับการแจ้งเตือนการหมดเวลา แต่ควรสิ้นสุดบริการที่ทำงานอยู่เบื้องหน้าหรือเปลี่ยนเป็นบริการที่ทำงานอยู่เบื้องหลังโดยเร็วที่สุด
กล้อง
แอปที่กำหนดเป้าหมายเป็น Android 15 ขึ้นไปไม่ได้รับอนุญาตให้เปิดบริการที่ทำงานอยู่เบื้องหน้าของกล้องจาก Broadcast Receiver BOOT_COMPLETED
ดูข้อมูลเพิ่มเติมได้ที่ข้อจํากัดของ BOOT_COMPLETED
ตัวรับการออกอากาศที่เปิดบริการอยู่เบื้องหน้า
การซิงค์ข้อมูล
แอปที่กำหนดเป้าหมายเป็น Android 15 ขึ้นไปไม่ได้รับอนุญาตให้เปิดบริการที่ทำงานอยู่เบื้องหน้าสำหรับการซิงค์ข้อมูลจาก Broadcast Receiver BOOT_COMPLETED
ดูข้อมูลเพิ่มเติมได้ที่ข้อจํากัดของ BOOT_COMPLETED
ตัวรับการออกอากาศที่เปิดบริการอยู่เบื้องหน้า
การเล่นสื่อ
แอปที่กำหนดเป้าหมายเป็น Android 15 ขึ้นไปไม่ได้รับอนุญาตให้เปิดบริการที่ทำงานอยู่เบื้องหน้าสำหรับการเล่นสื่อจาก Broadcast Receiver BOOT_COMPLETED
ดูข้อมูลเพิ่มเติมได้ที่ข้อจํากัดของ BOOT_COMPLETED
ตัวรับการออกอากาศที่เปิดบริการอยู่เบื้องหน้า
การฉายภาพสื่อ
แอปที่กำหนดเป้าหมายเป็น Android 15 ขึ้นไปไม่ได้รับอนุญาตให้เปิดบริการที่ทำงานอยู่เบื้องหน้าของโปรเจ็กชันสื่อจาก Broadcast Receiver BOOT_COMPLETED
ดูข้อมูลเพิ่มเติมได้ที่ข้อจํากัดของ BOOT_COMPLETED
ตัวรับการออกอากาศที่เปิดบริการอยู่เบื้องหน้า
ไมโครโฟน
แอปที่กำหนดเป้าหมายเป็น Android 14 (API ระดับ 34) ขึ้นไปไม่ได้รับอนุญาตให้เปิดบริการที่ทำงานอยู่เบื้องหน้าของไมโครโฟนจาก Broadcast Receiver BOOT_COMPLETED
ดูข้อมูลเพิ่มเติมได้ที่ข้อจํากัดของ BOOT_COMPLETED
ตัวรับการออกอากาศที่เปิดบริการอยู่เบื้องหน้า
การโทร
แอปที่กำหนดเป้าหมายเป็น Android 15 ขึ้นไปไม่ได้รับอนุญาตให้เปิดบริการที่ทำงานอยู่เบื้องหน้าสำหรับการโทรจาก Broadcast Receiver BOOT_COMPLETED
ดูข้อมูลเพิ่มเติมได้ที่ข้อจํากัดของ BOOT_COMPLETED
ตัวรับการออกอากาศที่เปิดบริการอยู่เบื้องหน้า