Job Scheduler – Implementation of Job Scheduler in Android Studio

Spread the love with your friends

Job Scheduler
Job Scheduler

Dear friends, How are you all. Today we will talk about the Job Scheduler. Most of developers are now confuse about that how to implement and use Job Scheduler because of new updates in Oreo.

After OREO update, Google impose some limitations in android mobiles in order to save  battery drain. Due to these limitations developers gone confuse in services. When we search online then we got a lot of topics related to Services like Alarm Manager, GCM Network Manager , Work Manager and Job Scheduler.

All these above approaches are very well to implement services and we also gave one by one topics on each of the above topics. Today we will discuss how to Job Scheduler works and How to implement Job Scheduler in android devices through android studio in Java.

So lets begin the topic :

First of all i will share the code of Job Scheduler:

public class MyJobSch {


    // schedule the start of the service every 10 – 30 seconds

    public static void scheduleJob(Context context) {

        ComponentName serviceComponent = new ComponentName(context, Myservice.class);

        JobInfo.Builder builder = new JobInfo.Builder(33, serviceComponent);

        builder.setMinimumLatency(10000); // wait at least

        builder.setOverrideDeadline(6 * 1000); // maximum delay

        builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED); // require unmetered network

        //builder.setBackoffCriteria(10000, JobInfo.BACKOFF_POLICY_LINEAR);


        //builder.setRequiresCharging(true); // we don’t care if the device is charging or not


        JobScheduler jobScheduler = context.getSystemService(JobScheduler.class);




Dear guys, I create a class named : MyJobSch  which is a public class, It means we can access that class in every where in our program without implementing or writing the code again and again.

This makes our code short and understood able.

In this class, we write the code of job scheduler. Some of code i have commented , so lets understood commented codes.

  //builder.setBackoffCriteria(10000, JobInfo.BACKOFF_POLICY_LINEAR);
        //builder.setRequiresCharging(true); // we don’t care if the device is charging or not

In first line of commented code, there is BACKOFF_POLICY_LINEAR policy where job scheduler start task after a back off.

In //builder.setPersisted(true);

Job scheduler start the task as per state of persistence of devices, if you required this you can enable or uncomment the code.

And in the third line of code, we comment a code which is about the charging , it means when you uncomment this line then your Job Scheduler also work automatically, when your device in charging mode or we can say that when you charge your android mobile the your Job Scheduler automatically call itself and start the Service.

Now we need to receive the signal which are generated by Job Scheduler and how to perform the operation when your Job Scheduler active. So in this case, We need a Broadcast Receiver. So now Create a Broadcast Receiver.

Code for Broadcast Receiver:

public class MyBroadcastReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        MyJobSch.scheduleJob(context); // reschedule the job

Now make a broadcast receiver class and paste the above code. I have created a class with the name “MyBroadcastReceiver”.

As you know, Every Broadcast Receiver have a method which is “onReceive()”. In this method you can write your code where you want to perform your task.

Here i also start the Job Scheduler again when first instance of Job Scheduler finish and then start new Job Scheduler instance by using ” MyJobSch.scheduleJob(context); // reschedule the job”.

As we know we write the code in “MyJobSch” class and then by using that class we Re-Schedule the Job Scheduler again. By this access method you can also learn how to access method of any Public class in somewhere in the program.

Now, The last step is bind your receiver , it means mention your receiver in Manifest. I am sure you know how to mention activity and Broadcast receiver in Manifest.

Note : We don’t need any dependency for Job Scheduler, because this is the core feature of Android mobile in Java. Its not any externally library.

So guys this was the summary of Job Scheduler. If you like this post and if you have any suggestions for us and new users then , write your precious point in comment box. Thanks.

Spread the love with your friends

5 thoughts on “Job Scheduler – Implementation of Job Scheduler in Android Studio”

  1. Great goods from you, man. I have understand your stuff previous to and you are just too great. I actually like what you’ve acquired here, really like what you are stating and the way in which you say it. You make it entertaining and you still care for to keep it wise. I cant wait to read far more from you. This is really a great web site.|


Leave a Comment

PHP Code Snippets Powered By :