30 mins as repeat interval val repeatInterval = 30 val somePeriodicWorkRequest = PeriodicWorkRequest.Builder(SomeWorker, repeatInterval, TimeUnit.MINUTES).build() Chicago Roboto 2019 20
same work val uniqueName = "MyUniqueName" val myWorkRequest = OneTimeWorkRequest.Builder(SomeWorker).build() WorkManager.getInstance().enqueueUniqueWork(uniqueName, ExistingWorkPolicy.REPLACE, myWorkRequest) Chicago Roboto 2019 34
together 4 Multiple chained jobs with different constraints can run at different times 4 Evaulate trigger points for all your workers Chicago Roboto 2019 41
save data 4 Keeps snapshots of work being done, hence queryable 4 Restarts pending work 4 Runs your work on a separate thread but synchronously using a Single Threaded Executor Chicago Roboto 2019 44