JobIntentService在针对API 26及以上版本进行目标设置后,在Android O(8)及以上版本上崩溃。

9

我已经将目标更改为API 27(Android O),并在此之后将IntentService迁移到JobIntentService。 然而,在某些Android O(8)及以上设备上,它开始崩溃。

以下是崩溃日志。

Fatal Exception: java.lang.RuntimeException: An error occurred while executing doInBackground()
   at android.os.AsyncTask$3.done(AsyncTask.java:353)
   at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
   at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
   at java.util.concurrent.FutureTask.run(FutureTask.java:271)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
   at java.lang.Thread.run(Thread.java:764)
Caused by java.lang.SecurityException: Caller no longer running, last stopped +2s213ms because: timed out while starting
   at android.os.Parcel.readException(Parcel.java:1943)
   at android.os.Parcel.readException(Parcel.java:1889)
   at android.app.job.IJobCallback$Stub$Proxy.dequeueWork(IJobCallback.java:191)
   at android.app.job.JobParameters.dequeueWork(JobParameters.java:196)
   at android.support.v4.app.JobIntentService$JobServiceEngineImpl.dequeueWork(SourceFile:314)
   at android.support.v4.app.JobIntentService.dequeueWork(SourceFile:639)
   at android.support.v4.app.JobIntentService$CommandProcessor.doInBackground$10299ca(SourceFile:2389)
   at android.os.AsyncTask$2.call(AsyncTask.java:333)
   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
   at java.lang.Thread.run(Thread.java:764)

你在 manifest.xml 文件中的服务中添加了 android:permission="android.permission.BIND_JOB_SERVICE" 权限吗? - user10041244
请发布服务类、清单类和您所在的服务类的代码 :) - Quick learner
@Quicklearner,您想将android:permission="android.permission.BIND_JOB_SERVICE"添加到仅JobIntent Service还是IntentServices中? - Suresh Maidaragi
1个回答

1

我已经看到了这个问题,但是解决方案是什么?由于这个问题,崩溃图在生产中不断上升。 - Ashish Kumar Maurya
有人发布了解决方法,修复了类。请阅读错误报告和评论。 - user1209216
那个类不会解决问题,如果我在那里放置try catch,那么服务将陷入无限循环。那个解决方案对我不起作用。 - Ashish Kumar Maurya
2
请不要只发布链接答案。如果您在回答中提供解释会更有帮助,因为问题跟踪器不是公开的。 - fdermishin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接