Android可保活的、不依附于应用进程存活的后台任务框架:WorkManager

本文介绍了如何使用WorkManager创建可保活的后台任务,即使应用进程关闭也能执行。通过示例展示了如何创建和管理OneTimeWorkRequest,以及如何观察任务状态。详细解释了WorkRequest的设置和Worker类的实现,确保任务在网络、电池和存储条件允许的情况下运行。
摘要由CSDN通过智能技术生成

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) {

//传递的参数数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值