포그라운드 서비스 변경사항

포그라운드 서비스 문서에서는 Android 포그라운드 서비스의 현재 동작을 설명합니다. 이 문서에서는 최신 버전의 Android를 타겟팅하는지 여부와 관계없이 대부분의 앱에 적용되는 권장사항을 안내합니다.

이 페이지에서는 포그라운드 서비스의 최근 중요한 변경사항과 최신 버전의 Android 플랫폼을 타겟팅하지 않는 앱에 미치는 영향을 설명합니다. 대부분의 경우 하위 API 수준을 타겟팅하는 앱에 선택사항이었던 권장사항이 상위 API 수준을 타겟팅하는 앱에는 필수가 됩니다.

Android 9 (API 수준 28)

Android 9에서는 FOREGROUND_SERVICE 권한을 도입합니다. 포그라운드 서비스를 사용하는 Android 9에서 실행되는 앱에는 이 권한이 있어야 합니다.

API 수준 28 이상을 타겟팅하는 앱이 FOREGROUND_SERVICE 권한을 요청하지 않고 포그라운드 서비스를 만들려고 시도하면 시스템에서 SecurityException을 발생시킵니다.

Android 10 (API 수준 29)

다음 요구사항은 API 수준 29 이상을 타겟팅하는 앱에 적용됩니다.

  • 앱의 포그라운드 서비스가 위치 정보를 사용하는 경우 앱은 location 서비스 유형으로 서비스를 선언해야 합니다.

Android 11 (API 수준 30)

API 수준 30 이상을 타겟팅하는 앱에는 다음 요구사항이 적용됩니다.

  • 앱의 포그라운드 서비스가 카메라 또는 마이크를 사용하는 경우 앱은 각각 camera 또는 microphone 서비스 유형으로 서비스를 선언해야 합니다.

Android 12 (API 수준 31)

API 수준 31 이상을 타겟팅하는 앱에는 다음 요구사항이 적용됩니다.

Android 14 (API 수준 34)

다음 요구사항은 API 수준 34 이상을 타겟팅하는 앱에 적용됩니다.

  • 서비스 유형을 사용하여 모든 포그라운드 서비스를 선언해야 합니다.
  • 앱은 포그라운드 서비스가 실행할 작업 유형에 적절한 권한 유형을 요청해야 합니다. 각 포그라운드 서비스 유형에는 해당하는 권한 유형이 있습니다. 예를 들어 앱이 카메라를 사용하는 포그라운드 서비스를 실행하는 경우 FOREGROUND_SERVICEFOREGROUND_SERVICE_CAMERA 권한을 모두 요청해야 합니다. 앱이 API 수준 34 이상을 타겟팅하지만 적절한 특정 권한을 요청하지 않으면 시스템에서 SecurityException을 발생시킵니다.

Android 15 (API 수준 35)

API 수준 35 이상을 타겟팅하는 앱에는 다음 요구사항이 적용됩니다.