Как сохранить состояние активности на спине в андроиде?

Я новичок в Android. В соответствии с Doc для разработчиков Android, создающим режим запуска активности SingleTop, эта активность останется нетронутой. Но это не работает для меня. У меня есть Активность, где у меня есть таймер обратного отсчета, я хочу, чтобы я оставлял Активность на спине, нажимал и возвращался в Активность, чтобы таймер обратного отсчета все еще работал. Как это сделать? Пожалуйста помоги

2 ответа

Решение

Я полагаю, вы немного не поняли.

Запуск деятельности в singleTop не означает, что действие является "неповрежденным", это означает, что если целевая задача уже имеет существующий экземпляр действия в верхней части своего стека, этот экземпляр получит новое намерение - новый экземпляр не будет создан. (Это противоположно запуску мероприятий в standard режим, в котором каждый раз, когда появляется новое намерение, создается новый экземпляр класса для ответа на это намерение.)

Как и предполагали другие, вы можете связываться с Сервисом и обновлять отсчет времени оттуда.

"Создание службы всегда будет поддерживать этот таймер, вместо этого я хочу, чтобы он продолжал работать только тогда, когда приложение живо", это означает, что вы хотите продолжить таймер с того места, где ушел пользователь.
Сохранить значение таймера в SharedPreferences onStop() и получить то же самое onRestart() и, наконец, продолжить обновление

Другие вопросы по тегам