作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一些 OneTimeWorkRequest
当我使用 android-arch 工作 WorkManager 时。
我可以看 WorkStatus
像这样的观察者
final WorkManager workManager = WorkManager.getInstance();
final LiveData<List<WorkStatus>> workStatus =
workManager.getStatusesByTag(DailyWorker.DAILY_WORK);
observer = new Observer<List<WorkStatus>>() {
@Override public void onChanged(@Nullable List<WorkStatus> workStatuses) {
Log.d("WorkManager", "onChanged = workStatuses = " + workStatuses);
if (workStatuses == null || workStatuses.size() == 0) {
//DailyWorker.createNewPeriodWork();
} else {
Log.d("WorkManager ", "onChanged = workStatuses.size() = " + workStatuses.size());
for (int i = 0; i < workStatuses.size(); i++) {
Log.d("WorkManager ", "onChanged Work Status Id: " + workStatuses.get(i).getId());
Log.d("WorkManager ", "onChanged Work Status State: " + workStatuses.get(i).getState());
}
}
workStatus.removeObserver(observer);
}
};
workStatus.observe(this, observer);
android.arch.work:work-runtime:1.0.0-alpha02
WorkStatus
在列表中,一些
SUCCEEDED
,一些
ENQUEUED
, 一些
CANCELLED
,并且列表的数量不断增加。
最佳答案
您可以调用方法pruneWork()
在您的 WorkManager 上清除 List<WorkStatus>
.
myWorkManager.pruneWork();
关于android-architecture-components - 如何清除Android中WorkManager创建的WorkStatus?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50836599/
我正在尝试观察我的workers,但他们总是处于queued 状态,或者有时处于RUNNING 但从未SUCCEED 或 FAILED。 workStatus.state 是 doWork() 返回的
我是一名优秀的程序员,十分优秀!