I am getting does not require android.permission.BIND_JOB_SERVICE permission
error while scheduling my JobService
and I already have the bind permissions. Below is my code.
JobScheduler jobScheduler = (JobScheduler) getSystemService(JOB_SCHEDULER_SERVICE);
ComponentName componentName = new ComponentName(MainActivity.this,MyJobService.class);
JobInfo.Builder jobInfo = new JobInfo.Builder(101, componentName).setPeriodic(2000);
jobScheduler.schedule(jobInfo.build())
<service
android:name=".MyJobService"
android:permission="android:permission.BIND_JOB_SERVICE"
android:exported="true"/>
Error:
java.lang.IllegalArgumentException: Scheduled service ComponentInfo{services.acadglid.com.acadgildservices/services.com.es.MyJobService} does not require android.permission.BIND_JOB_SERVICE permission
To solve this problem:
Scheduled service ComponentInfo{.........} does not require android.permission.BIND_JOB_SERVICE permission
add the permission:
android:permission="android.permission.BIND_JOB_SERVICE"
but requires the property:
android:exported="..."
android:exported: Whether or not the broadcast receiver can receive messages from sources outside its application — "true" if it can, and "false" if not.
For example:
<service android:name="com.jorgesys.jobscheduler.MyService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="true"/>