Chúng tôi sẽ thực hiện những thay đổi sau đây đối với các loại 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 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()
vàService.stopSelf()
để dừng hoàn toàn dịch vụ.
- 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
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ọiService.stopSelf()
. Nếu dịch vụ không gọiService.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
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 từ bộ nhận tín hiệu 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.
Đồ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 từ bộ nhận tín hiệu 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.
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.