Android - выполнить код onResume и onPause для всех действий приложения?

Я разрабатываю архитектуру, в которой приложение должно выполнять определенный набор операций каждый раз, когда оно переходит в фоновый режим (onPause), и набор операций каждый раз, когда оно возвращается на передний план (onResume), независимо от активности (для всех действий). Есть ли способ, с помощью которого я могу добиться этого, не вызывая эти методы в каждом классе активности, переопределяя onPause и onResume?


person Ocelot    schedule 27.02.2014    source источник


Ответы (2)


Создайте свой собственный класс, расширяющий Activity, и добавьте желаемое поведение к его методам onPause и onResume.
Затем вы расширяете этот класс для своих действий.

public class BaseActivity extends Activity {
    @Override
    protected void onPause() {
        // ...
    }

    @Override
    protected void onResume() {
        // ...
    }
}

public class Activity1 extends BaseActivity {
    // ...
}
person Vitor M. Barbosa    schedule 27.02.2014
comment
Это вызывается всякий раз, когда пользователь переключает действия, как мы можем заставить его вызываться только в том случае, если пользователь покинул приложение? - person Ruchir Baronia; 11.11.2015
comment
@Rich, для этого тебе следует переопределить onDestroy() - person Vitor M. Barbosa; 12.11.2015

Вы можете расширить свой Activities на BaseActivity который extends Activity и создать в нем два метода onPause / onResume.
См. этот ответ для получения дополнительной информации.

person fllo    schedule 27.02.2014