Thay đổi đối với các loại dịch vụ trên nền trước cho Android 15

We are making the following changes to foreground service types with Android 15.

Xử lý phương tiện

Loại dịch vụ trên nền trước cần khai báo trong tệp kê khai theo
android:foregroundServiceType
mediaProcessing
Quyền khai báo trong tệp kê khai
FOREGROUND_SERVICE_MEDIA_PROCESSING
Hằng số để truyền đến startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
Điều kiện tiên quyết về thời gian chạy
Không có
Mô tả

Dịch vụ để thực hiện các thao tác tốn thời gian trên các thành phần nội dung nghe nhìn, chẳng hạn như chuyển đổi nội dung nghe nhìn sang nhiều định dạng. Hệ thống cho phép dịch vụ này chạy trong một khoảng thời gian giới hạn; trong trường hợp bình thường, giới hạn thời gian này sẽ là 6 giờ trong mỗi 24 giờ. (Tất cả dịch vụ mediaProcessing trên nền trước của ứng dụng đều dùng chung giới hạn này.)

Ứng dụng của bạn nên dừng dịch vụ xử lý nội dung nghe nhìn theo cách thủ công trong trường hợp sau:

  • Khi quá trình chuyển mã hoàn tất hoặc đạt đến trạng thái không thành công, hãy yêu cầu dịch vụ gọi Service.stopForeground()Service.stopSelf() để dừng hoàn toàn dịch vụ.

Nếu hết thời gian chờ, hệ thống sẽ gọi phương thức Service.onTimeout(int, int) của dịch vụ. Tại thời điểm này, dịch vụ có vài giây để gọi Service.stopSelf(). Nếu dịch vụ không gọi Service.stopSelf(), thì lỗi ANR sẽ xảy ra kèm theo thông báo lỗi này: "Dịch vụ trên nền trước của <fgs_type> không dừng trong thời gian chờ: <component_name>".

Lưu ý: Service.onTimeout(int, int) không dùng được trên Android 14 trở xuống. Trên các thiết bị chạy các phiên bản đó, nếu một dịch vụ xử lý nội dung nghe nhìn đạt đến khoảng thời gian chờ, thì hệ thống sẽ ngay lập tức lưu ứng dụng vào bộ nhớ đệm. Vì lý do này, ứng dụng của bạn không nên đợi nhận thông báo hết thời gian chờ. Thay vào đó, ứng dụng phải chấm dứt dịch vụ trên nền trước hoặc thay đổi dịch vụ đó thành dịch vụ trên nền ngay khi thích hợp.

Camera

Apps that target Android 15 or higher are not allowed to launch a camera foreground service from a BOOT_COMPLETED broadcast receiver. For more information, see Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services.

Đồng bộ hoá dữ liệu

Apps that target Android 15 or higher are not allowed to launch a data sync foreground service from a BOOT_COMPLETED broadcast receiver. For more information, see Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services.

Phát lại phương tiện

Các ứng dụng nhắm đến Android 15 trở lên không được phép chạy dịch vụ phát nội dung đa phương tiện trên nền trước từ trình nhận thông báo truyền tin BOOT_COMPLETED. Để biết thêm thông tin, hãy xem phần Hạn chế đối với broadcast receiver BOOT_COMPLETED khởi chạy dịch vụ trên nền trước.

Chiếu nội dung nghe nhìn

Các ứng dụng nhắm đến Android 15 trở lên không được phép chạy dịch vụ trên nền trước của tính năng chiếu nội dung đa phương tiện từ một trình nhận thông báo truyền tin BOOT_COMPLETED. Để biết thêm thông tin, hãy xem phần Hạn chế đối với broadcast receiver BOOT_COMPLETED khởi chạy dịch vụ trên nền trước.

Micrô

Các ứng dụng nhắm đến Android 14 (API cấp 34) trở lên không được phép chạy dịch vụ trên nền trước của micrô từ trình nhận thông báo truyền tin BOOT_COMPLETED. Để biết thêm thông tin, hãy xem phần Hạn chế đối với broadcast receiver BOOT_COMPLETED khởi chạy dịch vụ trên nền trước.

Cuộc gọi điện thoại

Các ứng dụng nhắm đến Android 15 trở lên không được phép chạy dịch vụ trên nền trước của cuộc gọi điện thoại từ một trình nhận thông báo truyền tin BOOT_COMPLETED. Để biết thêm thông tin, hãy xem phần Hạn chế đối với broadcast receiver BOOT_COMPLETED khởi chạy dịch vụ trên nền trước.