我使用 WorkManager 版本 2.2.0 在用户重新联网时启动协程 API 调用。
在 Google 的示例中,如果我想将 CoroutineWorker 的线程从默认值 (
在 Google 的示例中,如果我想将 CoroutineWorker 的线程从默认值 (
Dispatchers.Default
) 更改为 Dispatchers.IO
,那么我只需要重写 val coroutineContext
,如下所示:class CoroutineDownloadWorker(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) {
override val coroutineContext = Dispatchers.IO
override suspend fun doWork(): Result = coroutineScope {
// do some work here and return a Result
}
}
但是Android Studio和文档告诉我,覆盖coroutineContext
已经被弃用:
转到所需的coroutineContext
? - Paul SpiesbergercoroutineScope
替换为withContext(Dispatchers.IO)
或您需要的任何其他调度程序 - Vitalii Malyi