पिछले लेसन में,
JobIntentService
क्लास. यह
लेसन में बताया गया है कि
किसी कार्रवाई को चलाने के लिए JobIntentService
Intent
के साथ काम को कतार में लगाना.
यह Intent
ये काम कर सकता है:
वैकल्पिक रूप से
प्रोसेस करने के लिए JobIntentService
.
JobIntentService को काम का अनुरोध बनाएं और भेजें
काम का अनुरोध करने और उसे
JobIntentService
कोई Intent
बनाएं और उसे
को कॉल करके निष्पादित किया जाएगा
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
.