我们有一个应用,其中我们计划使用最新版本的Android Work Manager 1.00.00安排重复工作。这项工作每20分钟运行一次。发布更新后,我们注意到Google Developer Console中发生以下崩溃。
java.lang.IllegalStateException:
at android.os.Parcel.readException (Parcel.java:1691)
at android.os.Parcel.readException (Parcel.java:1636)
at android.app.job.IJobScheduler$Stub$Proxy.schedule (IJobScheduler.java:158)
at android.app.JobSchedulerImpl.schedule (JobSchedulerImpl.java:42)
at androidx.work.impl.background.systemjob.SystemJobScheduler.scheduleInternal (SystemJobScheduler.java:161)
at androidx.work.impl.background.systemjob.SystemJobScheduler.schedule (SystemJobScheduler.java:128)
at androidx.work.impl.Schedulers.schedule (Schedulers.java:91)
at androidx.work.impl.utils.ForceStopRunnable.run (ForceStopRunnable.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
at java.lang.Thread.run (Thread.java:761)
仅在运行Android 7.0和7.1的设备上发生错误(100%)。我们没有办法知道是什么原因造成的,因为在堆栈跟踪中没有提到我们的代码。
请注意,我们使用自定义WorkManager初始化。另外请注意,由于我们尚未收到任何有关崩溃的电子邮件,因此该错误可能对用户不可见。
有人知道这是什么吗?
答案 0 :(得分:0)
我已将以上内容报告给WorkManager问题跟踪器,并且收到了有意义的回复。这似乎是由特定设备上的JobScheduler实现错误导致的。这是我收到的回复。
有一些设备可以实现 JobScheduler。这恰好是他们JobScheduler中的错误 实施。这些设备数量很少,这并不 一直发生。 WorkManager将重新安排您的工作人员 在应用重启时正常显示。我不会担心这个问题。