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 제한사항을 참고하세요.