ব্যাকগ্রাউন্ড সার্ভিসে কাজের অনুরোধ পাঠান

আগের পাঠে দেখানো হয়েছে কিভাবে একটি JobIntentService ক্লাস তৈরি করতে হয়। এই পাঠটি আপনাকে দেখায় যে কিভাবে একটি Intent সাথে কাজ সারিবদ্ধ করে একটি অপারেশন চালানোর জন্য JobIntentService ট্রিগার করতে হয়। এই Intent ঐচ্ছিকভাবে JobIntentService প্রক্রিয়া করার জন্য ডেটা থাকতে পারে।

একটি কাজের অনুরোধ তৈরি করুন এবং একটি JobIntentService-এ পাঠান

একটি কাজের অনুরোধ তৈরি করতে এবং এটি একটি JobIntentService এ পাঠাতে, একটি Intent তৈরি করুন এবং enqueueWork() কল করে এটি কার্যকর করার জন্য সারিবদ্ধ করুন। ঐচ্ছিকভাবে আপনি JobIntentService প্রক্রিয়া করার জন্য উদ্দেশ্য (ইন্টেন্ট অতিরিক্ত আকারে) ডেটা যোগ করতে পারেন। ইন্টেন্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, ইন্টেন্টস এবং ইনটেন্ট ফিল্টারে একটি ইন্টেন্ট তৈরি করা বিভাগটি পড়ুন

নিম্নলিখিত কোড স্নিপেটগুলি এই প্রক্রিয়াটি প্রদর্শন করে:

  1. RSSPullService নামক JobIntentService এর জন্য একটি নতুন Intent তৈরি করুন।

    কোটলিন

    /*
     * 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)
    }
    

    জাভা

    /*
     * 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));
    
  2. কল enqueueWork()

    কোটলিন

    private const val RSS_JOB_ID = 1000
    RSSPullService.enqueueWork(context, RSSPullService::class.java, RSS_JOB_ID, serviceIntent)
    

    জাভা

    // Starts the JobIntentService
    private static final int RSS_JOB_ID = 1000;
    RSSPullService.enqueueWork(getContext(), RSSPullService.class, RSS_JOB_ID, serviceIntent);
    

লক্ষ্য করুন যে আপনি একটি কার্যকলাপ বা খণ্ডের যেকোনো জায়গা থেকে কাজের অনুরোধ পাঠাতে পারেন। উদাহরণস্বরূপ, যদি আপনাকে প্রথমে ব্যবহারকারীর ইনপুট পেতে হয়, আপনি একটি কলব্যাক থেকে অনুরোধ পাঠাতে পারেন যা একটি বোতাম ক্লিক বা অনুরূপ অঙ্গভঙ্গিতে সাড়া দেয়।

একবার আপনি enqueueWork() কে কল করলে, JobIntentService তার onHandleWork() পদ্ধতিতে সংজ্ঞায়িত কাজটি করে এবং তারপর নিজেই বন্ধ হয়ে যায়।

পরবর্তী পদক্ষেপটি হল কাজের অনুরোধের ফলাফলগুলিকে মূল কার্যকলাপ বা খণ্ডে রিপোর্ট করা। পরবর্তী পাঠ আপনাকে দেখায় কিভাবে একটি BroadcastReceiver দিয়ে এটি করতে হয়।