1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| 1.WorkManager + Coroutine public class CoroutineWorkerExample extends CoroutineWorker { public CoroutineWorkerExample(@NonNull Context context, @NonNull WorkerParameters params) { super(context, params); }
@NonNull @Override public Result doWork() { runBlocking { uploadFile() // 挂起函数 } return Result.success(); } }
2.WorkManager + RxJava public class RxWorkerExample extends RxWorker { public RxWorkerExample(@NonNull Context context, @NonNull WorkerParameters params) { super(context, params); }
@NonNull @Override public Single<Result> createWork() { return Single.fromCallable(() -> { uploadFile(); return Result.success(); }); } }
|