Je reçois does not require Android.permission.BIND_JOB_SERVICE permission
_ erreur lors de la planification de mon JobService
et j'ai déjà les autorisations de liaison. Ci-dessous mon 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"/>
Erreur:
Java.lang.IllegalArgumentException: Le service planifié ComponentInfo {services.acadglid.com.acadgildservices/services.com.es.MyJobService} ne nécessite pas l'autorisation Android.permission.BIND_JOB_SERVICE.
Pour résoudre ce problème:
Le service planifié ComponentInfo {.........} ne nécessite pas l'autorisation Android.permission.BIND_JOB_SERVICE
ajouter la permission:
Android:permission="Android.permission.BIND_JOB_SERVICE"
mais nécessite la propriété:
Android:exported="..."
Android: exporté : Indique si le récepteur de radiodiffusion peut ou non recevoir des messages de sources extérieures à son application - "true" s'il le peut et "faux" sinon.
Par exemple:
<service Android:name="com.jorgesys.jobscheduler.MyService"
Android:permission="Android.permission.BIND_JOB_SERVICE"
Android:exported="true"/>
Il y a une faute de frappe dans votre Android Manifest
.
Il suffit de changer la ligne suivante:
Android:permission="Android:permission.BIND_JOB_SERVICE"
à
Android:permission="Android.permission.BIND_JOB_SERVICE"