gpt4 book ai didi

android - 多次调用定期请求的工作经理

转载 作者:IT老高 更新时间:2023-10-28 13:40:47 24 4
gpt4 key购买 nike

我正在使用工作管理器执行定期任务。我必须执行worker的单个实例

我的代码在下面

  val workManager = WorkManager.getInstance()
val callDataRequest = PeriodicWorkRequest.Builder(MyLoggerWork::class.java,
15, TimeUnit.MINUTES)
.addTag(worker)
.build()
workManager.enqueueUniquePeriodicWork(worker, ExistingPeriodicWorkPolicy.KEEP, callDataRequest)

我的 worker 记录如下

18/09/2018 03:18:19
18/09/2018 03:18:19
18/09/2018 03:18:19
18/09/2018 03:18:19

18/09/2018 03:37:18
18/09/2018 03:37:18
18/09/2018 03:37:18
18/09/2018 03:37:18

这是我的 MyLoggerWork 类(class)

public class MyLoggerWork: Worker(){


override fun doWork(): Result {
addlog()
return Worker.Result.SUCCESS
}

private fun addlog() {

try {

val directory = File(Environment.getExternalStorageDirectory().path + "/", "Jobs")
if (!directory.exists()) {
directory.mkdir()
}
val file = File(directory.path, "jobs_.txt")
if (!file.exists() && directory.exists()) {
file.createNewFile()
}
try {
val text = SimpleDateFormat("dd/MM/yyyy hh:mm:ss").format(Date())
val stream = FileOutputStream(file, true)
stream.write("\r\n".toByteArray())
stream.write(text.toByteArray())
stream.close()
} catch (e: Exception) {
e.printStackTrace()
}

} catch (e: IOException) {
e.printStackTrace()
}
}
}

我正在使用以下依赖项

 implementation 'android.arch.work:work-runtime:1.0.0-alpha08'

为什么我的工作会被调用 4 次???

最佳答案

您使用的是非常旧的 WorkManager 版本。您应该切换到最新的稳定版本。您可以尝试使用 1.0.1 或更好,切换到包含 androidx 依赖项的 2.0.1

关于android - 多次调用定期请求的工作经理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52384317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com