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

我们将对 Android 15 中的前台服务类型进行以下更改。

Xử lý phương tiện

要在清单中的以下位置声明的前台服务类型
android:foregroundServiceType
mediaProcessing
在清单中声明的权限
FOREGROUND_SERVICE_MEDIA_PROCESSING
要传递给 startForeground() 的常量
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
运行时前提条件
说明

用于对媒体资源执行耗时的操作(例如将媒体转换为其他格式)的服务。系统允许此服务运行的时间有限;在正常情况下,此时限为每天 24 小时中的 6 小时。(此限制由应用的所有 mediaProcessing 前台服务共享。)

在以下情况下,您的应用应手动停止媒体处理服务:

如果超时期限已到,系统会调用服务的 Service.onTimeout(int, int) 方法。此时,该服务有几秒钟的时间来调用 Service.stopSelf()。如果服务未调用 Service.stopSelf(),则会发生 ANR,并显示以下错误消息:“<fgs_type> 的前台服务未在超时时间内停止:<component_name>”。

注意Service.onTimeout(int, int) 不适用于 Android 14 或更低版本。在搭载这些版本的设备上,如果媒体处理服务达到超时期限,系统会立即缓存应用。因此,您的应用不应等待收到超时通知。相反,它应在适当情况下尽快终止前台服务或将其更改为后台服务。

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

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

Chiếu nội dung nghe nhìn

以 Android 15 或更高版本为目标平台的应用不得通过 BOOT_COMPLETED 广播接收器启动媒体投影前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED 广播接收器的限制

Micrô

Apps that target Android 14 (API level 34) or higher are not allowed to launch a microphone foreground service from a BOOT_COMPLETED broadcast receiver. For more information, see Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services.

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.