【发布时间】:2019-11-01 20:41:50
【问题描述】:
我想从我自己的 Api 中获取一些数据,但我希望应用程序在后台服务中获取这些数据,以便将其保存到我的数据库中,这应该根据我的选择在每个特定时间完成。 对此有任何帮助,我将不胜感激。 谢谢大家。
【问题讨论】:
-
到目前为止你尝试了什么?
标签: android kotlin background fetch-api background-service
我想从我自己的 Api 中获取一些数据,但我希望应用程序在后台服务中获取这些数据,以便将其保存到我的数据库中,这应该根据我的选择在每个特定时间完成。 对此有任何帮助,我将不胜感激。 谢谢大家。
【问题讨论】:
标签: android kotlin background fetch-api background-service
使用 WorkManager 代替后台服务:https://developer.android.com/topic/libraries/architecture/workmanager
它让您可以在特定的时间间隔、特定的网络连接(例如仅 wifi)等上安排后台任务。功能强大。
使用示例(从链接页面复制),当您希望在设备充电时每隔一小时执行一些工作:
val constraints = Constraints.Builder()
.setRequiresCharging(true)
.build()
val saveRequest =
PeriodicWorkRequestBuilder<SaveImageToFileWorker>(1, TimeUnit.HOURS)
.setConstraints(constraints)
.build()
WorkManager.getInstance(myContext)
.enqueue(saveRequest)
【讨论】: