Jam*_*min 3 android-livedata android-architecture-components android-workmanager
我创建一些OneTimeWorkRequest当我使用android-arch work 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);
Run Code Online (Sandbox Code Playgroud)
我的Android arch版本是 android.arch.work:work-runtime:1.0.0-alpha02
但是WorkStatus,列表中有很多?一些SUCCEEDED,一些ENQUEUED,一些CANCELLED,并且列表的数量继续增加。如何清除工作状态列表?
Cod*_*ice 11
您可以pruneWork()在WorkManager上调用方法以清除List<WorkStatus>。
myWorkManager.pruneWork();
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
1382 次 |
| 最近记录: |