web-dev-qa-db-fra.com

IllegalArgumentException: pas de service ComponentInfo {JobIntentService}

SO réponses concernant ce problème ne m'a pas aidé, j'ai déclaré toutes les autorisations et ont déjà accepté les réponses dans mon code.

AppInfoJobService (CustomJobIntentService) lève l'erreur suivante sur les appareils Android OS 8+ et cela arrive rarement, impossible à reproduire. Nous enqueueWork dans onCreate de BaseActivity. Nous avons principalement une activité et des fragments.

Fatal Exception: Java.lang.IllegalArgumentException: No such service ComponentInfo{<app package>AppInfoJobService}
   at Android.os.Parcel.readException(Parcel.Java:2009)
   at Android.os.Parcel.readException(Parcel.Java:1951)
   at Android.app.job.IJobScheduler$Stub$Proxy.enqueue(IJobScheduler.Java:211)
   at Android.app.JobSchedulerImpl.enqueue(JobSchedulerImpl.Java:53)
   at Android.support.v4.app.JobIntentService$JobWorkEnqueuer.enqueueWork(JobIntentService.Java:342)
   at Android.support.v4.app.JobIntentService.enqueueWork(JobIntentService.Java:522)
   at Android.support.v4.app.JobIntentService.enqueueWork(JobIntentService.Java:500)
   at <application package>AppInfoJobService.startWork(AppInfoJobService.Java:254)
   at <application package>MyApplication.onStartStopChanged(MusicApplication.Java:694)
   at <application package>AppStateMonitor.notifyStartStop(AppStateMonitor.Java:150)
   at <application package>AppStateMonitor.access$000(AppStateMonitor.Java:14)
   at <application package>AppStateMonitor$CreateDestroyRunnable.run(AppStateMonitor.Java:71)
   at Android.os.Handler.handleCallback(Handler.Java:790)
   at Android.os.Handler.dispatchMessage(Handler.Java:99)
   at Android.os.Looper.loop(Looper.Java:164)
   at Android.app.ActivityThread.main(ActivityThread.Java:6545)
   at Java.lang.reflect.Method.invoke(Method.Java)
   at com.Android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.Java:438)
   at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:857) 
6
shalini

Remarque: Démarrer un fil séparé car je n'ai pas assez de réputation pour commenter et que je veux aider l'auteur.

Ceci est en fait un problème avec les appareils LAVA ayant Android Oreo et fonctionne parfaitement bien avec d'autres appareils.

J'ai aussi observé cela sur LAVA Z60s et LAVA Z61.

4
Vrajesh Hirani

Mon cas est que je n'ai pas créé de service dans AndroidManifest.xml, donc il n'a pas trouvé ce service. Pour ce faire, ajoutez ce qui suit:

    ...
    /activity>
    <service
        Android:name=".YOUR_FOLDER.YOUR_SERVICE_FILENAME"
        Android:permission="Android.permission.BIND_JOB_SERVICE"
        Android:exported="false" />
    <receiver
        Android:name=".YOUR_FOLDER.YOUR_RECEIVER_FILENAME"></receiver>

</application> 
0
Peng Zuo