Вы используете WorkManager
компонент архитектуры для его достижения.Запланируйте PeriodicWorkRequest
следующим образом:
Создать класс работника:
public class MyWorker extends Worker {
@Override
public Worker.WorkerResult doWork() {
// Send your data to server
// Indicate success or failure with your return value:
return WorkerResult.SUCCESS;
// (Returning RETRY tells WorkManager to try this task again
// later; FAILURE says not to try again.)
}
}
Запланируйте работу:
PeriodicWorkRequest periodicWork = new
PeriodicWorkRequest.Builder(MyWorker.class, 7, TimeUnit.DAYS)
.build();
WorkManager.getInstance().enqueue(periodicWork);
При этом создается PeriodicWorkRequest для периодического запуска каждые 7 дней.Вы также можете установить некоторые дополнительные ограничения, такие как выполнение этой задачи, только если доступно подключение к Интернету.Это выполнит задачу один раз в 7 дней, и только если устройство подключено к Интернету.