Android 12(API Level 31) 이상 부터 앱 실행시 스플래시 화면 추가됨
Splash Screen API는 Animated Vector Drawable
또는 Animation Drawable
을 통해 애니메이션 아이콘을 지원하며, 이전 API 수준과의 역호환성도 지원함
Theme에서 다음 속성들을 지정하여 앱의 스플래시 화면을 커스텀함
// 배경색 지정
<item name="android:windowSplashScreenBackground">@color/...</item>
// 중앙 아이콘 지정(애니메이션 아이콘 지원)
<item name="android:windowSplashScreenAnimatedIcon">@drawable/...</item>
// 하단 브랜딩 이미지 지정
<item name="android:windowSplashScreenBrandingImage">@drawable/...</item>
204739330-fedb075b-2152-4058-a95c-585ea0e94bee.mp4
KakaoTalk_20221202_001303159.mp4
알람은 사용자가 설정한 정확한 시각에 알람이 울려야 함
→ SCHEDULE_EXACT_ALARM
권한 추가, alarmManager.setExactAndAllowWhileIdle()
사용
알람은 사용자가 비정상적인 방법으로 종료할 수 없어야 함 → 죽지 않는 서비스의 구현 필요
백그라운드에서 SoundService가 실행되고 있으면 서비스가 금방 죽게됨. 죽지 않고 계속 알람이 울리게 하기 위해 포그라운드에서 서비스를 실행시킴
백그라운드에서 액티비티 실행을 위해 Full Screen Intent 활용