Я следовал руководству по созданию приложения таймера. Учебное пособие создало методы в MainActivity, которые создают и уничтожают таймер. Прямо сейчас я пытаюсь остановить таймер, когда пользователь покидает приложение. Я использую LifeCycleObserver для вызова, когда происходит Lifecycle.Event.ON_STOP и приложение переходит в фоновый режим.
Я хочу вызвать метод onTimerFinished () в Main Activity, когда пользователь покидает приложение
Когда я пытаюсь вызвать метод в моем LifeCycleObserver, он возвращает ошибку, что это неразрешенная ссылка.
Это LifecycleObserver, где я пытаюсь onTimerFinished
class ApplicationObserver() : LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
fun onBackground() {
Log.d("myTag", "App closed")
MainActivity.onTimerFinished()
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
fun onForeground() {
}
}
Этоэто функция onTimerFinished, которая находится в моей MainActivity
private fun onTimerFinished(){
timerState = TimerState.Stopped
setNewTimerLength()
progress_countdown.progress = 0
PrefUtil.setSecondsRemaining(timerLengthSeconds,this)
secondsRemaining = timerLengthSeconds
updateButtons()
updateCountdownUI()
}
Когда я перемещаю переменные в сопутствующий объект для MainActivity, кажется, что он не изменяет фактический таймер. Скорее он изменяет переменные для объекта-компаньона.
Как я могу вызвать эту функцию в моем LifecycleObserver