【发布时间】:2018-08-03 06:27:09
【问题描述】:
我已将目标更改为 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)
【问题讨论】:
-
您是否已将 android:permission="android.permission.BIND_JOB_SERVICE" 添加到 manifest.xml 中的服务中?
-
请贴出你所在服务类的服务类、清单、类的代码:)
-
@Quicklearner 你也想将 android:permission="android.permission.BIND_JOB_SERVICE" 添加到 JobIntent Service 或 IntentServices 中?
标签: android android-8.0-oreo jobintentservice