J'ai essayé de créer un travail JobScheduler
simple juste pour voir comment cela fonctionne. mais je continue d'obtenir cette exception lors de l'exécution, je ne peux pas le comprendre car j'ai suivi les guides étape par étape.
Voici mon appel:
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
ne fait rien d'autre que des extensions JobService
.
Vous devez ajouter l'autorisation Android.permission.BIND_JOB_SERVICE
dans votre AndroidManifest.xml
...
<service Android:name=".TestService"
Android:permission="Android.permission.BIND_JOB_SERVICE"
Android:exported="true"/>
...
</application>
Essayez un projet propre. C'était mon cas.
Mon problème était que mon service était défini comme une classe interne statique. Le problème s'est résolu une fois que j'ai déplacé la classe de service dans son propre fichier Java