Предположим, вы хотите запланировать периодическое обновление, чтобы запускать загрузку данных каждый день в 2 часа ночи. То, что вам нужно сделать, это при первом запуске приложения рассчитать начальную задержку в миллисекундах, которая будет ( initialDelay = отметка времени завтрашнего 2:00 - отметка текущего времени )
Теперь запланируйте onTimeWorkRequest с этой начальной задержкой. так что в 2 часа ночи эта работа будет запущена в рамках этого рабочего графика периодической работы, которая будет иметь фактический логический запрос загрузки с интервалом повторения 24 часа. Оттуда этот периодический запрос будет поступать в 2 часа ночи каждый день. Используйте ограничение «networkConnected» с периодическим запросом.