Pelajaran sebelumnya menunjukkan
cara membuat
Class JobIntentService
. Ini
menunjukkan cara memicu
JobIntentService
untuk menjalankan operasi dengan
mengantrekan pekerjaan dengan Intent
.
Intent
ini dapat
secara opsional berisi data untuk
JobIntentService
untuk diproses.
Membuat dan mengirim permintaan pekerjaan ke JobIntentService
Untuk membuat permintaan pekerjaan dan mengirimkannya ke
JobIntentService
,
membuat Intent
dan mengantrekannya ke
dieksekusi dengan memanggil
enqueueWork()
.
Secara opsional, Anda bisa menambahkan data ke intent (dalam bentuk tambahan intent) untuk
JobImages yang akan diproses. Untuk informasi selengkapnya tentang cara membuat intent, baca
bagian intent di Intent dan Filter Intent
Cuplikan kode berikut menunjukkan proses ini:
-
Buat
Intent
baru untukJobIntentService
memanggilRSSPullService
.
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 Anda perlu mendapatkan input pengguna terlebih dahulu, Anda bisa mengirim permintaan dari callback yang merespons klik tombol atau {i>gesture <i}serupa.
Setelah Anda memanggil
enqueueWork()
,
JobIntentService
melakukan pekerjaan yang ditentukan dalam
onHandleWork()
, lalu menghentikannya sendiri.
Langkah berikutnya adalah melaporkan hasil permintaan pekerjaan kembali ke Aktivitas asal
atau Fragment. Pelajaran berikutnya menunjukkan
bagaimana melakukan ini dengan
BroadcastReceiver
.