Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Pekerjaan berulang

Aplikasi Anda terkadang mengharuskan beberapa tugas tertentu untuk dijalankan secara berkala. Misalnya, Anda mungkin perlu mencadangkan data secara berkala, mendownload konten baru di aplikasi Anda, atau mengupload log ke server.

Gunakan PeriodicWorkRequest untuk tugas-tugas yang perlu dijalankan secara berkala.

PeriodicWorkRequest tidak dapat dirantai. Jika tugas Anda memerlukan perantaian tugas, gunakan OneTimeWorkRequest.

Berikut cara membuat 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);
    

Contoh tersebut menunjukkan permintaan kerja berkala dengan interval pengulangan setiap satu jam.

Interval pengulangan didefinisikan sebagai waktu minimum antar pengulangan. Waktu pasti eksekusi pekerja bergantung pada batasan yang Anda gunakan dalam permintaan kerja dan pada pengoptimalan yang dilakukan oleh sistem.

Di contoh ini, PeriodicWorkRequest juga mengharuskan perangkat untuk dihubungkan. Dalam hal ini, meskipun interval pengulangan satu jam yang telah ditetapkan sudah berlalu, PeriodicWorkRequest hanya akan berjalan ketika perangkat terhubung.

Anda dapat mengamati status PeriodicWorkRequests dengan cara yang sama seperti OneTimeWorkRequests. Baca selengkapnya tentang cara mengamati pekerjaan.