Android 15에서는 포그라운드 서비스 유형이 다음과 같이 변경됩니다.
미디어 처리 중
- 要在清单中的以下位置声明的前台服务类型
android:foregroundServiceTypemediaProcessing- 在清单中声明的权限
FOREGROUND_SERVICE_MEDIA_PROCESSING- 要传递给
startForeground()的常量 FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING- 运行时前提条件
- 无
- 说明
用于对媒体资源执行耗时的操作(例如将媒体转换为其他格式)的服务。系统允许此服务运行的时间有限;在正常情况下,此时限为每天 24 小时中的 6 小时。(此限制由应用的所有
mediaProcessing前台服务共享。)在以下情况下,您的应用应手动停止媒体处理服务:
- 当转码操作完成或达到失败状态时,让服务调用
Service.stopForeground()和Service.stopSelf()以完全停止服务。
- 当转码操作完成或达到失败状态时,让服务调用
如果超时期限已到,系统会调用服务的
Service.onTimeout(int, int)方法。此时,该服务有几秒钟的时间来调用Service.stopSelf()。如果服务未调用Service.stopSelf(),则会发生 ANR,并显示以下错误消息:“<fgs_type> 的前台服务未在超时时间内停止:<component_name>”。注意:
Service.onTimeout(int, int)不适用于 Android 14 或更低版本。在搭载这些版本的设备上,如果媒体处理服务达到超时期限,系统会立即缓存应用。因此,您的应用不应等待收到超时通知。相反,它应在适当情况下尽快终止前台服务或将其更改为后台服务。
카메라
Android 15 이상을 타겟팅하는 앱은 BOOT_COMPLETED broadcast receiver에서 카메라 포그라운드 서비스를 실행할 수 없습니다.
자세한 내용은 포그라운드 서비스를 실행하는 BOOT_COMPLETED Broadcast receiver에 적용되는 제한사항을 참고하세요.
데이터 동기화
Android 15 이상을 타겟팅하는 앱은 BOOT_COMPLETED broadcast receiver에서 데이터 동기화 포그라운드 서비스를 실행할 수 없습니다.
자세한 내용은 포그라운드 서비스를 실행하는 BOOT_COMPLETED Broadcast receiver에 적용되는 제한사항을 참고하세요.
미디어 재생
Android 15 이상을 타겟팅하는 앱은 BOOT_COMPLETED broadcast receiver에서 미디어 재생 포그라운드 서비스를 실행할 수 없습니다.
자세한 내용은 포그라운드 서비스를 실행하는 BOOT_COMPLETED Broadcast receiver에 적용되는 제한사항을 참고하세요.
미디어 프로젝션
Android 15 이상을 타겟팅하는 앱은 BOOT_COMPLETED broadcast receiver에서 미디어 프로젝션 포그라운드 서비스를 실행할 수 없습니다.
자세한 내용은 포그라운드 서비스를 실행하는 BOOT_COMPLETED Broadcast receiver에 적용되는 제한사항을 참고하세요.
마이크
Android 14 (API 수준 34) 이상을 타겟팅하는 앱은 BOOT_COMPLETED broadcast receiver에서 마이크 포그라운드 서비스를 실행할 수 없습니다.
자세한 내용은 포그라운드 서비스를 실행하는 BOOT_COMPLETED Broadcast receiver에 적용되는 제한사항을 참고하세요.
전화 통화
Android 15 이상을 타겟팅하는 앱은 BOOT_COMPLETED broadcast receiver에서 전화 통화 포그라운드 서비스를 실행할 수 없습니다.
자세한 내용은 포그라운드 서비스를 실행하는 BOOT_COMPLETED Broadcast receiver에 적용되는 제한사항을 참고하세요.