Android Architecture Components library you can use the ProcessLifecycleOwner
to set up a listener to the whole application process for onStart
and onStop
events. To do this, make your application class implement the LifecycleObserver
interface and add some annotations for onStart
and onStop
to your foreground and background methods.
class ArchLifecycleApp : Application(), LifecycleObserver {
override fun onCreate() {
super.onCreate()
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
fun onAppBackgrounded() {
Log.d("Awww", "App in background")
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
fun onAppForegrounded() {
Log.d("Yeeey", "App in foreground")
}
}