11

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)
4

2 に答える 2

1

Workerクラスのドキュメントには . 一方、パブリック コンストラクターが最初のパラメーターとしてa を取ることは明示的に文書化されています。getApplicationContext()ContextWorkerContext

public Worker (Context context, 
            WorkerParameters workerParams)

Workerしたがって、クラスにコンテキストが必要な場合は、その構造からのものを使用してください。

于 2020-06-01T03:07:35.097 に答える