OneTimeWorkRequest a = getRequest(TAG, 1000, “A”, TestWorker.class);
OneTimeWorkRequest b = getRequest(TAG, 2000, “B”, TestWorker.class);
OneTimeWorkRequest c = getRequest(TAG, 3000, “C”, TestWorker.class);
OneTimeWorkRequest d = getRequest(TAG, 4000, “D”, TestWorker.class);
WorkManager.getInstance(this)
.enqueue(Arrays.asList(a, b, c, d));
LiveData<List> liveData = WorkManager.getInstance(this).getWorkInfosByTagLiveData(TAG);
liveData.observe(this, new Observer<List>() {
@Override
public void onChanged(List workInfos) {
System.out.println(“长度:” + workInfos.size());
for (WorkInfo info : workInfos) {
if (info.getState() == WorkInfo.State.SUCCEEDED) {
Data data = info.getOutputData();
String s = data.getString(DATA);
Long time = data.getLong(TIME, -1);
String id = data.getString(ID);
System.out.println(“onChanged:” + id + " " + s + " " + time);
}
}
}
});
System.out.println(“UI Main线程Id:” + Thread.currentThread().getId());
//取消任务。
//UUID workId = workRequest.getId();
//WorkManager.getInstance().cancelByWorkId(workId);
}
private OneTimeWorkRequest getRequest(String tag, int time, String id, Class cls) {
//传递的参数数据。