首页 > 解决方案 > bootreceived 上的工作经理

问题描述

我正在尝试启动,为什么工作管理器不会启动onbootreceived?

Constraints constraints = new Constraints.Builder().build();

PeriodicWorkRequest saveRequest = new PeriodicWorkRequest.Builder(UploadWorker.class, 1, TimeUnit.MINUTES)
    .addTag("activation")
    .build();

OneTimeWorkRequest otr = new OneTimeWorkRequest.Builder(UploadWorker.class).build();
WorkManager.getInstance().cancelAllWork();
WorkManager.getInstance().pruneWork();

WorkManager.getInstance().enqueueUniquePeriodicWork("activation", ExistingPeriodicWorkPolicy.REPLACE, saveRequest);

标签: javaandroidandroidxandroid-workmanager

解决方案


你的代码有几个问题:

  1. 您没有指定任何约束
  2. doWork 应该返回 Result.success()/Result.failure()/Result.retry() 如果你想返回数据你应该使用这个 API: public static Result success(@NonNull Data outputData)

推荐阅读