web-dev-qa-db-fra.com

JobService ne nécessite pas l'autorisation Android.permission.BIND_JOB_SERVICE

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.

25
Akhilesh Mani

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"/>
43
Jorgesys

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"
0
Constanza Quaglia