androidandroid-jobscheduler

Android java.lang.IllegalArgumentException: No such service ComponentInfo JobScheduler


I tried to create a simple JobScheduler job just to see how it works. but I keep getting this exception on runtime, I can't figure it out as I followed the guides step by step.

This is my call:

ComponentName componentName = new ComponentName(getApplicationContext(), TestService.class);

JobInfo jobInfo = new JobInfo.Builder(1,componentName).setPeriodic(300000)
                .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY).build();

JobScheduler tm = (JobScheduler)getApplicationContext().getSystemService(Context.JOB_SCHEDULER_SERVICE);

tm.schedule(jobInfo);

TestService doesn't do anything other than extends JobService.


Solution

  • You need to add the permission android.permission.BIND_JOB_SERVICE into your AndroidManifest.xml

    ...
    <service android:name=".TestService"
         android:permission="android.permission.BIND_JOB_SERVICE"
         android:exported="true"/>
    ...
    </application>