شرح لك الدرس السابق كيفية إنشاء صف في
JobIntentService
. يشرح هذا
الدرس كيفية تشغيل
JobIntentService
لتنفيذ عملية من خلال
إضافة العمل إلى قائمة الانتظار باستخدام Intent
.
يمكن أن تتضمّن سمة Intent
هذه اختياريًا بيانات لمعالجة JobIntentService
.
إنشاء طلب عمل وإرساله إلى JobIntentService
لإنشاء طلب عمل وإرساله إلى
JobIntentService
،
أنشئ Intent
وأدرجه في قائمة الانتظار ل ejecutang من خلال الاتصال
enqueueWork()
.
يمكنك اختياريًا إضافة بيانات إلى النية (في شكل عناصر إضافية للنية) لمعالجتها في
JobIntentService. لمزيد من المعلومات عن إنشاء النوايا، يُرجى قراءة قسم "إنشاء
نوايا" في مقالة النوايا وفلاتر النوايا.
وتوضح مقتطفات الرمز التالية هذه العملية:
-
أنشئ
Intent
جديدًا لمحاولةJobIntentService
تُسمىRSSPullService
.
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));
-
الاتصال برقم
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);
يُرجى العِلم أنّه يمكنك إرسال طلب العمل من أي مكان في "نشاط" أو "مقتطف". على سبيل المثال، إذا كنت بحاجة إلى إدخال بيانات المستخدمين أولاً، يمكنك إرسال الطلب من معاودة اتصال تستجيب بنقرة على زر أو إيماءة مشابهة.
بعد استدعاء
enqueueWork()
،
تنجز
JobIntentService
المهمة المحددة في طريقة
onHandleWork()
، ثم تتوقف تلقائيًا.
الخطوة التالية هي الإبلاغ عن نتائج طلب العمل إلى النشاط المنشأ
أو المقتطف. يوضّح لك الدرس التالي كيفية إجراء ذلك باستخدام BroadcastReceiver
.