Как вызвать метод, когда приложение Android закрыто или теряет фокус?

Потому что приложение, которое яm building будет обрабатывать довольно конфиденциальные данные. Я хочу синхронизировать базу данных SQLite с сервером каждый раз, когда пользователь входит в систему, и удалять emty базу данных каждый раз, когда приложение теряет фокус (потому что пользователь переходит на домашний экран или другое приложение).

ПроводыЖизненный цикл деятельностиМоя идея заключалась в том, чтобы сделать это, опустошив базу данных в onDestroy каждого действия. Чтобы протестировать описанный жизненный цикл, я просто переопределил все методы жизненного цикла (onCreate, onStart, onResume, onPause, onStop и onDestroy), включил в них некоторые сообщения журнала и запустил свое приложение.

Сообщения журнала включены в мои настройки. Когда я захожу в приложение и перехожу в настройки, оно запускается при создании, запуске и восстановлении (как и ожидалось). Когда я затем щелкаю настройку и перехожу к следующему экрану, он запускается при паузе и останове (все так же, как и ожидалось). Чтобы вернуться к экрану настроек, я нажимаю кнопку «Назад», и он снова запускает onStart и onResume (по-прежнему, как и ожидалось), а когда я снова нажимаю кнопку «Назад», чтобы вернуться к начальному экрану, он (к моему удивлению) запускается при паузе, onStop AND onDestroy.

Итак, мои вопросы;

Почему это разрушает активность, когда приложение не завершено?И что еще более важно: как я могу запустить мой метод CleanUp, когда приложение закрывается или теряет фокус?

Ответы на вопрос(4)

Ваш ответ на вопрос