Android Push 알림 + Background vs Foreground in Kotlin
Background vs Foreground 실행(Push 알림, Background vs Foreground)
Push 알림을 구현하게 되면, Background 상태에서의 액션과 Foreground 상태에서의 액션을 구분해야할 때가 있다.
예를 들어 Foreground 상태에서는 앱의 특정 Activity를 실행시킬 수 있지만, Background 상태에서는 Splash 화면을 보여준 이후에 특정 Activity로 이동하도록 구현해야할 수도 있다. 이때 앱의 상태값을 확인하여 분기처리 할 수 있는데, Application 클래스를 상속받는 클래스를 통해 상태값을 관리할 수 있다.
MyApplication.kt: Application, Livecycleobser 상속
Application 상속
: Application Class 사용을 위해 상속 받아 구현한다.LifecycleObserver 상속
: 앱의 상태 값(Foreground/Background
)을 관리하기 위해 상속 받아 구현한다.
class MyApplication : Application(), LifecycleObserver {
override fun onCreate() {
super.onCreate()
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
fun onAppBackgrounded() { isForeground = false }
@OnLifecycleEvent(Lifecycle.Event.ON_START)
fun onAppForegrounded() { isForeground = true}
companion object {
var isForeground = false
}
}
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
를 통해 앱의 생명주기 옵저빙을 추가한다.
그리고 isForeground
변수를 통해 앱의 Foreground/Background
상태 값을 구분하여 로직을 처리할 수 있다.
Android Application Class란 in Kotlin
Application Class란 전역적으로 앱의 상태를 유지하기 위한 기본 클래스이다. 우리는 Application을 상속받아 우리만의 ex). MApplication 을 구현할 수 있다. 단, 사용하기 위해서는 AndroidManifest.xml 의 태..
devgeek.tistory.com
Android FCM and Message Types
Android FCM 프로젝트 셋팅 Android FCM 기본 예제 Android FCM 클릭 이벤트 들어가며 Android App 개발 프로젝트를 진행하는 중, Notification 개발을 맡았다. 앱이 Foreground 일 때는 내가 원하대로 Notificati..
devgeek.tistory.com
안드로이드 FCM 예제 - Part1 (Firebase 프로젝트 만들기, 앱 등록)
안드로이드 FCM 예제 - Part1 (Firebase 프로젝트 만들기, 앱 등록) Firebase 프로젝트 만들기 FCM(Firebase Cloud Messaging)을 사용하기 위해서는 Firebase 프로젝트를 만들고 앱을 등록해야 한다. 1.Firebase C..
devgeek.tistory.com
안드로이드 FCM 예제 - Part2 (앱 매니페스트 수정, FCM Token 등록, Notification 송수신)
앱 매니페스트 수정 포그라운드 앱의 알림 수신, 데이터 페이로드 수신, 업스트림 메시지 전송 등을 수행하기 위해서 서비스를 확장한다. FirebaseMessagingServiceUtil.kt package com.example.myfcmexample impo..
devgeek.tistory.com
질문과 잘못된 점에 대해 말씀해주시는 건 언제나 환영입니다.
zero5.two4@gmail.com