代码之家  ›  专栏  ›  技术社区  ›  Alireza Ahmadi

需要WorkManager中的上下文

  •  2
  • Alireza Ahmadi  · 技术社区  · 8 年前

    我在用 WorkManager 1.0.0-alpha05 计划在我的应用可能正在运行或可能未运行的功能中运行某些任务。我要做的工作需要 context 所以我怎样才能把上下文传递给这个?

    class CompressWorker : Worker() {
    
        override fun doWork(): Result {
            //need context here
            Log.e("alz", "work manager runs")
            return Result.SUCCESS
        }
     }
    

    下面是我如何初始化工作的。

    val oneTimeWork = OneTimeWorkRequestBuilder<CompressWorker>()
            .setInitialDelay(15, TimeUnit.MINUTES)
            .build()
    
    WorkManager.getInstance().enqueue(oneTimeWork)
    
    1 回复  |  直到 7 年前
        1
  •  14
  •   Piotr Wittchen    8 年前

    这取决于 Context 你需要吗。根据 the documentation of the Worker class ,您只需打电话 getApplicationContext() 方法直接从 工人 类以获取 上下文 在这个用例中应该是合理的。