Жизненный цикл фрагмента отслеживания, например Application.ActivityLifecycleCallbacks

Всем известно, что в Android мы можем отслеживать действия через Application.ActivityLifecycleCallbacks для получения пожаров из системы, когда активность создается, останавливается, уничтожается и т. Д.

Я нашел только один вопрос на stackru, связанный с этой темой.
Привязка к жизненному циклу фрагмента, как Application.ActivityLifecycleCallbacks

К сожалению предоставленное решение работает только на пост 25.2.0 Android.
Я ищу Soultion для предварительно 25.2.0. Может быть, это возможно с помощью некоторых обходных путей, может быть, отражение?

1 ответ

Я ищу Soultion для предварительно 25.2.0

FragmentManager.FragmentLifecycleCallbacks был доступен из 25.1.0, Единственное изменение, которое было внесено в 25.2.0 Что касается этого API, то, что это стало static а до этого это был просто публичный внутренний класс. Что означает, что для использования вы должны получить доступ к нему через включающий его экземпляр, который в данном случае FragmentManager:

final FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.registerFragmentLifecycleCallbacks(fragmentManager.new FragmentLifecycleCallbacks() {
            @Override
            public void onFragmentPreAttached(FragmentManager fm, Fragment f, Context context) {
                super.onFragmentPreAttached(fm, f, context);
            }
            ...
            // all other callbacks
        }, true);

Как уже упоминалось в комментарии Евгения Печанца, фрагменты фреймворка по умолчанию (т.е. android.app.Fragment, а не из пакетов поддержки) получит эти изменения в Android-O релиз.

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