Tutorial sebelumnya menunjukkan cara membuat class JobIntentService
. Tutorial ini menunjukkan cara memicu JobIntentService
untuk menjalankan operasi dengan mengantrekan pekerjaan dengan Intent
.
Secara opsional, Intent
ini dapat
berisi data yang akan diproses oleh
JobIntentService
.
Membuat dan mengirim permintaan pekerjaan ke JobIntentService
Untuk membuat permintaan pekerjaan dan mengirimkannya ke
JobIntentService
,
buat Intent
dan antrekan untuk
dieksekusi dengan memanggil
enqueueWork()
.
Secara opsional, Anda dapat menambahkan data ke intent (dalam bentuk tambahan intent) untuk diproses oleh JobIntentService. Untuk mengetahui informasi selengkapnya tentang membuat intent, baca bagian Membuat
intent di Intent dan Filter Intent
Cuplikan kode berikut menunjukkan proses ini:
-
Buat
Intent
baru untukJobIntentService
bernamaRSSPullService
.
Kotlin
/* * Creates a new Intent to start the RSSPullService * JobIntentService. Passes a URI in the * Intent's "data" field. */ serviceIntent = Intent().apply { putExtra("download_url", dataUrl) }
Java
/* * Creates a new Intent to start the RSSPullService * JobIntentService. Passes a URI in the * Intent's "data" field. */ serviceIntent = new Intent(); serviceIntent.putExtra("download_url", dataUrl));
-
Panggil
enqueueWork()
Kotlin
private const val RSS_JOB_ID = 1000 RSSPullService.enqueueWork(context, RSSPullService::class.java, RSS_JOB_ID, serviceIntent)
Java
// Starts the JobIntentService private static final int RSS_JOB_ID = 1000; RSSPullService.enqueueWork(getContext(), RSSPullService.class, RSS_JOB_ID, serviceIntent);
Perlu diketahui bahwa Anda dapat mengirim permintaan kerja dari mana saja dalam Aktivitas atau Fragmen. Misalnya, jika perlu mendapatkan input pengguna terlebih dahulu, Anda dapat mengirim permintaan dari callback yang merespons klik tombol atau gestur serupa.
Setelah Anda memanggil
enqueueWork()
,
JobIntentService
akan melakukan pekerjaan yang ditentukan dalam metode
onHandleWork()
, lalu menghentikannya sendiri.
Langkah berikutnya adalah melaporkan hasil permintaan pekerjaan ke Aktivitas atau Fragmen asal. Tutorial berikutnya akan menunjukkan cara melakukannya dengan BroadcastReceiver
.