การเปลี่ยนแปลงประเภทบริการที่ทำงานอยู่เบื้องหน้าสำหรับ Android 15
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เราจะทำการเปลี่ยนแปลงต่อไปนี้กับประเภทบริการที่ทำงานอยู่เบื้องหน้าใน Android 15
- ประเภทบริการที่ทำงานอยู่เบื้องหน้าที่จะประกาศในไฟล์ Manifest ในส่วน
android:foregroundServiceType
mediaProcessing
- สิทธิ์ในการประกาศในไฟล์ Manifest
FOREGROUND_SERVICE_MEDIA_PROCESSING
- ค่าคงที่ที่จะส่งไปยัง
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- ข้อกําหนดเบื้องต้นของรันไทม์
- ไม่มี
- คำอธิบาย
บริการสําหรับดําเนินการกับชิ้นงานสื่อที่ใช้เวลานาน เช่น การเปลี่ยนรูปแบบสื่อ ระบบอนุญาตให้บริการนี้ทำงานได้ในช่วงเวลาที่จำกัด โดยปกติแล้วขีดจำกัดเวลานี้จะเท่ากับ 6 ชั่วโมงจาก 24 ชั่วโมง (ขีดจำกัดนี้จะแชร์โดยmediaProcessing
บริการที่ทำงานอยู่เบื้องหน้าทั้งหมดของแอป)
แอปของคุณควรหยุดบริการประมวลผลสื่อด้วยตนเองในสถานการณ์ต่อไปนี้
หากถึงระยะเวลาหมดเวลา ระบบจะเรียกใช้เมธอด 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
ตัวรับการออกอากาศที่เปิดบริการอยู่เบื้องหน้า
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# Changes to foreground service types for Android 15\n\nWe are making the following changes to foreground service types with Android\n15.\n\n### Media processing\n\nForeground service type to declare in manifest under\n`android:foregroundServiceType`\n: `mediaProcessing`\n\nPermission to declare in your manifest\n: `FOREGROUND_SERVICE_MEDIA_PROCESSING`\n\nConstant to pass to `startForeground()`\n: `FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING`\n\nRuntime prerequisites\n: None\n\nDescription\n\n: Service for performing time-consuming operations on media assets, like\n converting media to different formats. The system allows this service a limited\n time to run; under normal circumstances, this time limit would be 6 hours out of\n every 24. (This limit is shared by all of an app's `mediaProcessing` foreground\n services.)\n\n: Your app should manually stop the media processing service in the following\n scenario:\n\n - When the transcoding operation finishes or reaches a failure state, have the service call [`Service.stopForeground()`](/reference/android/app/Service#stopForeground(int)) and [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()) to stop the service completely.\n\n: If the timeout period is reached, the system calls the service's\n [`Service.onTimeout(int, int)`](/reference/android/app/Service#onTimeout(int,%20int)) method. At this\n time, the service has a few\n seconds to call [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()). If the service does not call\n `Service.stopSelf()`, an ANR will occur with this error message: \"A\n foreground service of *\\\u003cfgs_type\\\u003e* did not stop within its\n timeout: *\\\u003ccomponent_name\\\u003e*\".\n\n **Note** : `Service.onTimeout(int, int)` is not available on Android 14\n or lower. On devices running those versions, if a media processing\n service reaches the timeout period, the system immediately caches the app.\n For this reason, your app shouldn't wait to get a timeout notification.\n Instead, it should terminate the foreground service or change it to a\n background service as soon as appropriate.\n\n### Camera\n\nApps that target Android 15 or higher are not allowed to launch a\ncamera foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Data sync\n\nApps that target Android 15 or higher are not allowed to launch a\ndata sync foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media playback\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia playback foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media projection\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia projection foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Microphone\n\nApps that target Android 14 (API level 34) or higher are not allowed to launch a\nmicrophone foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Phone call\n\nApps that target Android 15 or higher are not allowed to launch a\nphone call foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed)."]]