代码之家  ›  专栏  ›  技术社区  ›  Raj Suvariya

无法在WorkManager上安排唯一的工作

  •  0
  • Raj Suvariya  · 技术社区  · 6 年前

    我使用工作经理安排独特的工作。虽然它在大多数手机上都能完美工作,但它无法在特定的mimax设备上进行调度。 这是代码片段

    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
    

    我不知道这是什么意思 . 因为它可以偶尔安排一次工作,但大部分时间都失败了。

    除此之外,任何人都可以指出解决这个问题的方法或解决方案。

    有关项目的详细信息

    • Min SDK版本:17
    • 编译SDK版本:28
    • WorkManager版本:1.0.0-beta03
    • 设备:Mi Max
    • 版本:7.0
    1 回复  |  直到 6 年前
        1
  •  0
  •   Raj Suvariya    6 年前

    原来问题不在工作经理身上。发生此问题的原因是设备已打开电池节电器。如果应用程序不在前台,它将不允许任何后台处理。

    推荐文章