Android 자료실/버전 이슈
안드로이드(ANDROID) 14 - To call Service.startForeground(), the <service> element of manifest file must have the foregroundServiceType attribute specified (포그라운드 서비스 유형 문제)
Victorywskim
2024. 1. 1. 02:33
반응형
Android 10에서는 <service> 요소 내에 android:foregroundServiceType 속성을 도입되었는데 Android 14를 타겟팅하는 경우에는 필수로 선언 해줘야 하게끔 수정되었습니다.
targetSdk 를 34 이상으로 하는 경우에 포그라운드를 사용하고 있다면 다음과 같은 문제가 발생하게 됩니다.
이를 해결하기 위해서는 매니페스트 안에 다음과 같이 권한 설정 및 서비스 설정을 해주면 됩니다.
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
...
<service
android:name="서비스 명"
android:foregroundServiceType="specialUse"
/>
서비스 종류는 다음과 같으니 참고하시면 되겠습니다.
- camera
- connectedDevice
- dataSync
- health
- location
- mediaPlayback
- mediaProjection
- microphone
- phoneCall
- remoteMessaging
- shortService
- specialUse
- systemExempted
반응형