Прежде всего, вам необходимо записать и проверить время последнего обновления внутри onPostExecute
.Сохраните его где-нибудь (переменная, SharedPreferences, DB и т. Д.)
Во-вторых, вам понадобится флаг, который записывает, если данный фрагмент был показан пользователю один раз, после запуска приложения.
После этого, если я правильно понял ваше намерение, добавьте хук к фрагменту, чтобы определить, является ли фрагмент видимым, если он виден и виден в первый раз, проверьте свою последнюю обновленную метку времени.Если время прошло достаточно хорошо, запустите эту асинхронную задачу.
Добавьте на кнопку отдельного прослушивателя событий, чтобы вручную запускать асинхронную задачу при нажатии кнопки.
Если вы также хотитеВыполняйте асинхронную задачу каждый раз, когда достигается определенное время (текущее и последнее обновленное), создайте задание таймера, которое выполняется в фоновом режиме, чтобы оно регулярно проверяло отметку времени последнего обновления и проверяло, достигнуто ли различие времениожидаемое количество, вызвать асинхронную задачу, если true.