Как отследить закрытие пользователем приложения?
В моем приложении пользователь запускает таймер. Если этот таймер заканчивается, что-то должно произойти. Но есть такой вариант, что пользователь отключает приложение. Можно ли как-то отследить это и записать в базу данных, что он не дождалась окончания таймера?
Ответы (2 шт):
Чтобы отследить закрытие приложения можно использовать подход SingleActivity. Тогда у Вас будет одна единственная Activity, которая будет жить на протяжении всего приложения. Сворачивание Activity будет эквивалентно сворачиванию приложения и Вы сможете отследить его в методе onDestroy(). Подробнее о подходе SingleActivity можно почитать здесь.
Имплементируйте в ваш класс Application интерфейс Application.ActivityLifecycleCallbacks и вы сможете контролировать жизненные циклы всех ваших Activity