我正在开发一个应用程序,在这个应用程序中,用户可以为任何任务设置提醒,并且这个提醒有开始和结束日期。所有关于任务的信息都存储在数据库中。所以我需要写一个调度程序,每15分钟后运行一次,从数据库中获取详细信息,并检查用户是否设置了任何提醒,然后应用程序将发出通知。我试着在google上搜索,但是大部分的例子都是使用开始和停止按钮。谁能帮助我使用正确的方法来调用调度器而不需要任何点击事件。
使用WorkManager来定期执行任务。你可以参考这里的文档。https:/developer.android.comtopiclibrariesarchitectureworkmanagerhow-torecurring-work。
示例代码:你的worker类。
class YourWorkerClass(appContext: Context, workerParams: WorkerParameters)
: Worker(appContext, workerParams) {
override fun doWork(): Result {
// Do the work here--in this case, fetch data from database.
return Result.success()
}
}
使用WorkManager来安排工作。
val constraints = Constraints.Builder()
.setRequiresCharging(true)
.build()
val saveRequest =
PeriodicWorkRequestBuilder<YourWorkerClass>(15, TimeUnit.MINUTES)
.setConstraints(constraints)
.build()
WorkManager.getInstance(myContext)
.enqueue(saveRequest)