2015-06-05 2 views
2

Предположим, у меня есть объект библиотеки, который должен быть уведомлен о событии Activity.onDestroy(), если это произойдет. Есть ли способ, чтобы я мог зарегистрировать какой-то обработчик с Activity изнутри библиотеки или мне нужно будет потребовать от кого-либо, использующего библиотеку, переопределить onDestroy() и передать его в библиотеку (очень подвержен ошибкам, поскольку нет способа применять это во время компиляции)?Регистрация «onDestroy event handler» с Android Activity

ответ

1

Вы можете сделать библиотеку классов реализовать Application.ActivityLifecycleCallbacks, а затем зарегистрировать его с помощью getApplication().registerActivityLifecycleCallbacks(libraryClass);

Тогда ваша библиотека классов будет получать все жизненный цикл активности обратных вызовов из приложения. Если вы ищете только события жизненного цикла одного действия, методы ActivityLifeCycleCallbacks имеют параметры активности, и вы можете фильтровать для деятельности, которую вы ищете.

+0

Уровень API 14 ... Но я предполагаю, что это означает, что что-то подобное раньше не было. Спасибо! +1, √ –