我正在使用工作经理来安排独特的工作。虽然它可以在大多数手机上完美运行,但无法在特定的Mi Max设备上进行安排。 这是代码段
Constraints myConstraints = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
OneTimeWorkRequest myWork =
new OneTimeWorkRequest.Builder(MyWorker.class)
.setInitialDelay(transmissionFreq, TimeUnit.SECONDS)
.setConstraints(myConstraints)
.addTag("JobTag")
.build();
WorkManager.getInstance().enqueueUniqueWork("JobTag", ExistingWorkPolicy.REPLACE, myWork);
在logcat中,我可以找到以下日志。
2019-01-31 20:52:00.255 1286-1308/com.inmobi.data.test D/WM-Processor: Processor cancelling 59ee78d1-8a8b-4d66-8392-40b634553840
2019-01-31 20:52:00.256 1286-1308/com.inmobi.data.test D/WM-Processor: WorkerWrapper could not be found for 59ee78d1-8a8b-4d66-8392-40b634553840
2019-01-31 20:52:00.259 1286-1308/com.inmobi.data.test D/WM-GreedyScheduler: Cancelling work ID 59ee78d1-8a8b-4d66-8392-40b634553840
2019-01-31 20:52:00.277 1286-1308/com.inmobi.data.test D/WM-PackageManagerHelper: androidx.work.impl.background.systemalarm.RescheduleReceiver enabled
2019-01-31 20:52:00.294 1286-1308/com.inmobi.data.test D/WM-SystemJobScheduler: Scheduling work ID 115c9814-d1f7-488c-913e-2b5af2bf1972 Job ID 81
2019-01-31 20:52:00.308 1286-1308/com.inmobi.data.test D/WM-Processor: Processor stopping 59ee78d1-8a8b-4d66-8392-40b634553840
2019-01-31 20:52:00.309 1286-1308/com.inmobi.data.test D/WM-Processor: WorkerWrapper could not be found for 59ee78d1-8a8b-4d66-8392-40b634553840
2019-01-31 20:52:00.309 1286-1308/com.inmobi.data.test D/WM-StopWorkRunnable: StopWorkRunnable for 59ee78d1-8a8b-4d66-8392-40b634553840; Processor.stopWork = false
我不确定找不到WorkerWrapper 是什么意思。因为它能够偶尔安排工作,但其他大多数时间却失败。
除了原因之外,任何人都可以针对此问题提出任何解决方法或解决方案。
有关该项目的更多信息
答案 0 :(得分:0)
原来问题不是工作经理引起的。发生此问题是因为设备打开了省电模式。如果应用程序不在前台,则不允许任何后台处理。