Android 15의 포그라운드 서비스 유형 변경사항

Android 15에서는 포그라운드 서비스 유형이 다음과 같이 변경됩니다.

미디어 처리 중

매니페스트에서 선언할 포그라운드 서비스 유형
android:foregroundServiceType
mediaProcessing
매니페스트에서 선언할 권한
FOREGROUND_SERVICE_MEDIA_PROCESSING
startForeground()에 전달할 상수
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
런타임 기본 요건
없음
설명

미디어를 다른 형식으로 변환하는 등 미디어 저작물에 시간이 많이 걸리는 작업을 실행하는 서비스입니다. 시스템은 이 서비스가 실행되는 시간을 제한합니다. 일반적으로 이 시간 제한은 24시간 중 6시간입니다. 이 한도는 앱의 모든 mediaProcessing 포그라운드 서비스에서 공유됩니다.

앱은 다음 시나리오에서 미디어 처리 서비스를 수동으로 중지해야 합니다.

제한 시간에 도달하면 시스템은 서비스의 Service.onTimeout(int, int) 메서드를 호출합니다. 이때 서비스는 Service.stopSelf()를 호출할 수 있는 몇 초의 시간이 있습니다. 서비스가 Service.stopSelf()를 호출하지 않으면 '<fgs_type>의 포그라운드 서비스가 제한 시간 내에 중지되지 않았습니다. <component_name>'라는 오류 메시지와 함께 ANR이 발생합니다.

참고: 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에 적용되는 제한사항을 참고하세요.