Android 在运行定期任务之前立即运行工作-WorkManager
我希望在流程结束后立即运行定期任务,然后运行定期每日任务。我知道如何运行定期任务,但我的问题是,我需要立即运行定期任务一次,然后定期任务应该每天运行一次。目前,我需要等待1天才能执行定期任务,我如何才能做到这一点?最好的选择是使用Android 在运行定期任务之前立即运行工作-WorkManager,android,android-workmanager,periodic-task,Android,Android Workmanager,Periodic Task,我希望在流程结束后立即运行定期任务,然后运行定期每日任务。我知道如何运行定期任务,但我的问题是,我需要立即运行定期任务一次,然后定期任务应该每天运行一次。目前,我需要等待1天才能执行定期任务,我如何才能做到这一点?最好的选择是使用OneTimePeriodicWorker,在返回Result.success()之前安排定期工作人员 因此,您将WorkRequest排队以立即运行: val asSoonAsPossibleWorkRequest = OneTimeWorkRequestBuilde
OneTimePeriodicWorker
,在返回Result.success()
之前安排定期工作人员
因此,您将WorkRequest排队以立即运行:
val asSoonAsPossibleWorkRequest = OneTimeWorkRequestBuilder<InitialWorker>
.addTag(TAG_OUTPUT)
.build()
WorkManager.getInstance(context).enqueue(asSoonAsPossibleWorkRequest)
class InitialWorker(ctx: Context, params: WorkerParameters) : Worker(ctx, params) {
override fun doWork(): Result {
// Do Something Useful
// Enqueue the periodic Worker
val dailyWorkRequest = PeriodicWorkRequestBuilder<DailyWorker>(1, TimeUnit.DAYS)
.addTag(TAG_OUTPUT)
.build()
WorkManager.getInstance(applicationContext).enqueue(dailyWorkRequest)
return Result.success()
}
}