막무가내 삽질 블로그
안드로이드 앱 포그라운드, 백그라운드 상태 확인하기 본문
728x90
앱이 포그라운드인지 백그라운드 인지 상태를 확인해서 이벤트 처리를 해야할 상황이 있었다.
예전 프로젝트에서는 액티비티에서 확인을 해서 로직을 처리했는데 이번에는 조금 더 수월하게 AAC 라이브러리를 활용하였다.
gradle 에 추가해 준다.
implementation 'android.arch.lifecycle:extensions:2.2.0'
그 다음 LifecycleObserver 를 상속 받은 후 ProcessLifecycleOwner를 등록해 주고 어노테이션을 활용해 함수를 만들어서 사용하면 된다.
개발자 문서를 참고하면 된다.
전체코드
class TestActivity : TLSActivity(), LifecycleObserver {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
fun appStop() {
println("appStop")
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
fun appStart() {
println("appStart")
}
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
fun appCreate() {
println("appCreate")
}
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
fun appResume() {
println("appResume")
}
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
fun appDestroy() {
println("appDestroy")
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
fun appPause() {
println("appPause")
}
@OnLifecycleEvent(Lifecycle.Event.ON_ANY)
fun appAny() {
println("appAny")
}
}
'Android' 카테고리의 다른 글
안드로이드 디버깅 with Wifi (android adb wifi) 하는 법 (Mac) (0) | 2020.04.17 |
---|---|
Adobe XD 에서 안드로이드로 이미지 보내기 (0) | 2020.04.15 |
Room에 저장된 날짜와 현재날짜 비교 (0) | 2020.03.23 |
Android Room Database - Kotlin (0) | 2020.03.01 |
Android ViewModel + LiveData + Data Binding (0) | 2020.03.01 |
Comments