GCMTaskManager PeriodicTask... перезапустить таймер и / или посмотреть, сколько времени осталось?
Я пытаюсь использовать GCMTaskManager для планирования периодической задачи, которая запускается примерно каждые 30 минут. Когда он работает, он выполняет "обновление" некоторых внутренних данных в приложении.
У меня это предварительно работает и могу видеть, используя LOG
команда в OnRunTask
что задание запускается по желанию. У меня оно работает (по крайней мере, в соответствии с ЖУРНАЛОМ, который я заполняю, когда OnRunTask
пожары.
У меня есть две проблемы, я не могу определить, можно ли это сделать....
Есть ли способ узнать, сколько времени осталось до следующего
OnRunTask
пожары... или... примерно в какое "время" он должен бежать дальше? Например, если для PeriodTask есть 30 минут... и прошло 18 минут, можем ли мы программно увидеть, что осталось 12 минут?У меня есть внутренняя "кнопка" для ручного запуска обновления APPS. Если пользователь нажмет на это, я хочу "перезапустить" таймер PeriodicTask с этой точки. Это если 30 минут
OnRunTask
Предполагается, что срабатывает примерно через 12 минут, и пользователь нажимает кнопку ОБНОВЛЕНИЕ вручную, я хочуOnRunTask
Чтобы начать с 30 минут, нажмите кнопку. Можно ли это сделать?
Спасибо
Пит
1 ответ
Для 1) GCMNetworkManager не предоставляет интерфейс для отслеживания прошедшего / оставшегося времени, но вы можете сделать это самостоятельно, поддерживая переменную, хранящую последнюю обновленную метку времени для ваших данных.
2) Из документов
При обновлении Google Play Services или клиентского приложения все запланированные задачи удаляются. GcmNetworkManager вызывает onInitializeTasks() клиентского приложения. Переопределите эту функцию, чтобы перепланировать необходимые задачи.