Для перехвата события, когда приложение уходит в фон (при сворачивании, открытии рабочего стола или другого приложения), можно использовать метод Application.registerActivityLifecycleCallbacks, в качестве параметра которому передается объект ComponentCallbacks (набор коллбеков, которые являются стандартными для всех компонентов приложения — Activity, Service, ContentProvider и Application).  Сам же метод registerActivityLifecycleCallbacks вызывается каждый раз, когда выполняются соответствующие методы у Activiy или сервисов.

Таким образом, код для класса, который является расширением Application, выглядит следующим образом:

А класс ApplicationLifecycleHandler, в котором происходит обработка состояний, выглядит так:

Этот же код на GitHub