可以使用两种方式让 Work Requests 长时间运行。第一个方式是让 Work Requests 在设备的 idle 状态下运行,即用户未使用设备时。第二个方式是使用 PeriodicWorkRequest,在指定时间间隔内反复运行 Work。
以下是使用 PeriodicWorkRequest 的示例代码:
// 定义 WorkRequest
val workRequest = PeriodicWorkRequest.Builder(
MyWorker::class.java,
1, TimeUnit.HOURS)
.build()
// 提交 WorkRequest
WorkManager.getInstance(applicationContext)
.enqueue(workRequest)
在上面的示例中,MyWorker 是自定义的 Worker 类,表示要运行的任务。该任务将在每小时执行一次。