Chúng tôi sẽ thực hiện những thay đổi sau đây đối với các kiểu dịch vụ trên nền trước trong 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 trong
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ó
- Nội dung mô tả
Dịch vụ thực hiện các thao tác tốn nhiều thời gian đối với 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 các định dạng khác nhau. 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 thông thường, giới hạn thời gian này là 6 giờ trên mỗi 24 giờ. (Giới hạn này dùng chung cho tất cả
mediaProcessing
dịch vụ trên nền trước của ứng dụng.)Ứ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 các trường hợp sau:
- Khi quá trình chuyển mã kết thúc hoặc đến trạng thái lỗi, hãy yêu cầu lệnh gọi dịch vụ
Service.stopForeground()
vàService.stopSelf()
để dừng hoàn toàn dịch vụ.
- Khi quá trình chuyển mã kết thúc hoặc đến trạng thái lỗi, hãy yêu cầu lệnh gọi dịch vụ
Nếu đạt đến khoảng 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ọiService.stopSelf()
. Nếu dịch vụ không gọiService.stopSelf()
, một lỗi ANR sẽ xuất hiện với thông báo lỗi sau: "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 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 đa phương tiệ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 nhận thông báo hết thời gian chờ. Thay vào đó, ứng dụng sẽ chấm dứt dịch vụ trên nền trước hoặc thay đổi sang dịch vụ nền ngay khi thích hợp.
Camera
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 máy ảnh qua broadcast receiver 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.
Đồng bộ hoá dữ liệu
Các ứng dụng nhắm đến Android 15 trở lên không được phép chạy dịch vụ đồng bộ hoá dữ liệu trên nền trước qua broadcast receiver 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.
Phát 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 để phát nội dung đa phương tiện qua broadcast receiver 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ụ chiếu nội dung đa phương tiện trên nền trước từ broadcast receiver 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ụ micrô trên nền trước qua một broadcast receiver 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 qua broadcast receiver 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.