0

У меня есть основная деятельность, которая показывает/скрывает кучу фрагментов. В самом начале запускается учетная запись, в которой вводится пользователь. Когда пользователь нажимает кнопку «домой» или кнопку с несколькими задачами, приложение должно запустить таймер, который (после истечения таймера) автоматически регистрирует пользователя. Это может произойти, когда пользователь вернется в приложение (и таймер закончился -> выход из системы) или в приложении и ничего не сделал.Жизненный цикл фрагментов, когда пользователь «завершает работу»

Что именно вызывается, когда пользователь нажимает кнопку «домой/многозадачность» с точки зрения методов образа фрагмента? В моих быстрых тестах кажется, что первый фрагмент в onPause диспетчера фрагментов вызывается каждый раз независимо от фрагмента на экране, когда пользователь выходит из него.

Как я могу это сделать?

+0

В вашем состоянии onPause сохраняйте, например, текущее время в ваших приложениях SharedPreferences. В методе onResume сравнивайте время, сохраненное в onPause, с текущим временем и действуйте соответствующим образом. –

ответ

1

Пожалуйста, посмотрите на это учебник о Фрагмент-Lifecycle:

http://developer.android.com/reference/android/app/Fragment.html#Lifecycle

Это объясняет жизненный цикл фрагмента относительно его деятельности.

Когда пользователь нажимает домой кнопку, например:

OnPause() - фрагмент больше не взаимодействующий с пользователем либо потому, что его активности быть приостановлена ​​ или операция фрагмента модификация это в своей деятельности.

+0

Но почему тот же самый фрагмент onPause() вызывается независимо от того, что отображается на экране во время домашнего нажатия? –

+0

Что вы подразумеваете под «тем же фрагментом»? –

+0

У меня есть менеджер фрагментов, и он управляет моими траннакциями. Каждый раз, когда пользователь нажимает кнопку или любую область, требующую нового экрана, текущий фрагмент скрыт, а другой добавлен (или показан, если он уже находится в менеджере фрагментов). По тому же фрагменту я имею в виду то же самое onPause, потому что самый первый фрагмент в ясли вызван независимо от того, находится ли я на другом экране, который я перешел на –

0

Методы, называемые жизненным циклом фрагмента, те же, что и в действии. Вы можете проверить полный набор методов, которые вызывают здесь: Fragments

Смежные вопросы