O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Trabalho recorrente

Às vezes, seu aplicativo pode exigir que determinadas tarefas sejam executadas de tempos em tempos. Por exemplo, pode ser que você queira fazer backup dos seus dados, fazer o download de novos conteúdos no seu app ou fazer upload de registros para um servidor periodicamente.

Use PeriodicWorkRequest para tarefas que precisam ser executadas periodicamente.

PeriodicWorkRequest não pode ser vinculada. Caso a vinculação de tarefas seja necessária, considere usar OneTimeWorkRequest.

Veja como criar uma PeriodicWorkRequest:

Kotlin

    val constraints = Constraints.Builder()
            .setRequiresCharging(true)
            .build()

    val saveRequest =
    PeriodicWorkRequestBuilder<SaveImageToFileWorker>(1, TimeUnit.HOURS)
        .setConstraints(constraints)
        .build()

    WorkManager.getInstance(myContext)
        .enqueue(saveRequest)

    

Java

    Constraints constraints = new Constraints.Builder()
            .setRequiresCharging(true)
            .build();

    PeriodicWorkRequest saveRequest =
            new PeriodicWorkRequest.Builder(SaveImageFileWorker.class, 1, TimeUnit.HOURS)
                      .setConstraints(constraints)
                      .build();

    WorkManager.getInstance(myContext)
        .enqueue(saveRequest);
    

O exemplo mostra uma solicitação de trabalho periódico com um intervalo de repetição de uma hora.

O intervalo de repetição é definido como o tempo mínimo entre repetições. O momento exato em que o worker será executado depende das restrições usadas na solicitação de trabalho e nas otimizações feitas pelo sistema.

No exemplo, a PeriodicWorkRequest também precisa que o dispositivo esteja conectado. Nesse caso, mesmo que o intervalo de repetição de uma hora definido passe, a PeriodicWorkRequest será executada apenas quando o dispositivo estiver conectado.

Observe o status da PeriodicWorkRequests da mesma forma que asmOneTimeWorkRequests. Leia mais sobre a observação de trabalho.