Änderungen an den Typen von Diensten im Vordergrund für Android 15

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

Medien werden verarbeitet.

要在清单中的以下位置声明的前台服务类型
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 或更低版本。在搭载这些版本的设备上,如果媒体处理服务达到超时期限,系统会立即缓存应用。因此,您的应用不应等待收到超时通知。相反,它应在适当情况下尽快终止前台服务或将其更改为后台服务。

Kamera

Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Kameradienst im Vordergrund über einen BOOT_COMPLETED-Übertragungsempfänger starten. Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED-Broadcastempfänger, die Dienste im Vordergrund starten.

Datensynchronisierung

Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst zur Datensynchronisierung im Vordergrund über einen BOOT_COMPLETED-Übertragungsempfänger starten. Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED-Broadcastempfänger, die Dienste im Vordergrund starten.

Medienwiedergabe

Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst zur Medienwiedergabe im Vordergrund über einen BOOT_COMPLETED-Übertragungsempfänger starten. Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED-Broadcastempfänger, die Dienste im Vordergrund starten.

Medienprojektion

Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst zur Medienprojektion im Vordergrund über einen BOOT_COMPLETED-Übertragungsempfänger starten. Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED-Broadcastempfänger, die Dienste im Vordergrund starten.

Mikrofon

Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind, dürfen keinen Mikrofondienst im Vordergrund über einen BOOT_COMPLETED-Übertragungsempfänger starten. Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED-Broadcastempfänger, die Dienste im Vordergrund starten.

Telefonanruf

Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst für Telefonanrufe im Vordergrund über einen BOOT_COMPLETED-Übertragungsempfänger starten. Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED-Broadcastempfänger, die Dienste im Vordergrund starten.