-
[Android] Foreground Service를 사용하고 싶을 경우 (feat. API 레벨 34 이상)IT Study/Android 2024. 1. 30. 15:35728x90
1. Foreground Service 사용 시, Manifest 파일 설정
Android 12(API 레벨 34)에서는 Foreground Service를 사용하는 앱이 명확한 권한을 요청하도록 변경되었습니다.
이는 사용자의 프라이버시를 보호하고, 앱이 어떤 서비스를 실행하는지 더욱 명확하게 인지할 수 있도록 돕기 위함입니다.
그래서 이전에 사용하던 방법만으로는 원하는 포그라운드 실행이 되지 않는데요.
이럴 경우 매니페스트 파일에 아래와 같은 코드를 작성하면 해결할 수 있습니다.
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
2. android.permission.FOREGROUND_SERVICE
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
Foreground Service를 사용할 수 있도록 하는 기본 권한입니다.
이 권한이 없으면 앱은 Foreground Service를 전혀 사용할 수 없습니다.
3. android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
미디어 재생과 관련된 Foreground Service를 사용할 수 있도록 하는 추가 권한입니다.
이 권한이 없으면 앱은 미디어 재생 기능 포함하는 Foreground Service를 사용할 수 없습니다.
두 권한이 모두 필요한 이유는
(1) 앱이 Foreground Service를 사용할 수 있는지(FOREG_SERVICE)
(2) 그 서비스가 미디어 재생 기능을 포함할 수 있는지(FOREGROUND_SERVICE_MEDIA_PLAYBACK)를
모두 확인하기 위함입니다.
아래 Android Developer 사이트를 참고해서 작성한 내용이니,
자세한 내용이 궁금하시다면 아래 사이트에서 확인해보세요 :)
'IT Study > Android' 카테고리의 다른 글
[Android/Kotlin] "Can't create handler inside thread that has not called Looper.prepare()" 예외 (0) 2024.04.04 [Kotlin] tailrec(꼬리 재귀)란 (0) 2024.02.03 [Android] View Binding (feat. 뷰 바인딩 전 늘 하는 사전 작업) (2) 2024.01.27 [Android] Thread (feat. 스레드란?) (2) 2024.01.24 [Android] counter(계수기, 숫자 세기) 앱 (feat. 화면 회전 시 초기화, 화면 회전 시 UI 가려지기, weight) (1) 2024.01.21