Вы можете использовать Android Компонент жизненного цикла, чтобы определить, будет ли приложение работать в фоновом режиме.
Пожалуйста, используйте следующий код:
import android.app.Application
import android.arch.lifecycle.ProcessLifecycleOwner
class SampleApp : Application() {
private val lifecycleListener: SampleLifecycleListener by lazy {
SampleLifecycleListener()
}
override fun onCreate() {
super.onCreate()
setupLifecycleListener()
}
private fun setupLifecycleListener() {
ProcessLifecycleOwner.get().lifecycle
.addObserver(lifecycleListener)
}
}
SampleApp - это просто приложение Android, объявлено в манифесте как:
<application
android:name=".SampleApp"/>
Код для lifecycleListner:
class SampleLifecycleListener : LifecycleObserver {
@Inject
var component: MyLifecycleInterestedComponent
@OnLifecycleEvent(Lifecycle.Event.ON_START)
fun onMoveToForeground() {
component.appReturnedFromBackground = true
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
fun onMoveToBackground() {
}
}
В методе onMoveToBackground () вы можете написать свой код.
Для получения дополнительной информации обратитесь к эта ссылка .