Я использую JobIntentService для создания службы в фоновом режиме.
Он работает очень хорошо до Android 8. Однако на Android 8 происходит много сбоев:
Caused by java.lang.IllegalArgumentException: Given work is not active: JobWorkItem {id = 3 intent = Intent {cmp = com.? Xxx.SettingService (has extras)} dcount = 1}
at android.app.job.JobParameters.completeWork (JobParameters.java:221)
at androidx.core.app.JobIntentService $ JobServiceEngineImpl $ WrapperWorkItem.complete (SourceFile: 268)
at androidx.core.app.JobIntentService $ CommandProcessor.doInBackground (SourceFile: 394)
at androidx.core.app.JobIntentService $ CommandProcessor.doInBackground (SourceFile: 383)
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)
Я узналта же проблема в stackoverflow:
Получение сбоя на JobIntentService onComplete
Однако здесь мой ID = SettingService.class.hashCode (), поэтому я думаю, что не будет совпадения ID.