首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在WorkManager,android中清除已查看的WorkInfo?

在WorkManager中清除已查看的WorkInfo,可以通过以下步骤实现:

  1. 首先,需要获取到已经完成的WorkInfo列表。可以通过调用WorkManager.getInstance().getWorkInfosByTagLiveData(tag)方法来获取指定标签的WorkInfo列表。其中,tag是你给WorkRequest设置的标签。
  2. 获取到WorkInfo列表后,可以遍历列表,找到已经完成的WorkInfo对象。
  3. 对于已经完成的WorkInfo对象,可以调用WorkManager.getInstance().pruneWork()方法来清除已查看的WorkInfo。这个方法会删除已经完成的WorkInfo,释放相关资源。

需要注意的是,WorkManager会自动清理已完成的WorkInfo,但是这个清理操作是异步的,可能不会立即生效。如果需要立即清理已完成的WorkInfo,可以手动调用WorkManager.getInstance().pruneWork()方法。

WorkManager是Android Jetpack中的一个组件,用于管理和调度后台任务。它提供了一种简单且可靠的方式来执行延迟任务、周期性任务和一次性任务。通过使用WorkManager,可以确保任务在设备重启、应用程序关闭或设备休眠时仍然能够正常运行。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/tpns)可以用于在移动设备上发送推送通知,可以与WorkManager结合使用,实现更灵活的后台任务调度和通知推送功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android Jetpack架构组件(七)之WorkManager

一、WorkManager概述 1.1 WorkManager简介 在Android应用开发,或多或少会有后台任务需求,根据需求场景不同,Android为后台任务提供了多种不同解决方案,Service...为了解决Android耗电问题,Android提供了WorkManager ,用来对应用那些不需要及时完成任务提供一个统一解决方案,借助WorkManager,开发者可以轻松调度那些即使在退出应用或重启设备时仍应运行可延期异步任务...调度工作存储在内部托管 SQLite 数据库,由 WorkManager 负责确保该工作持续进行,并在设备重新启动后重新调度。...Worker 实例,以及如何在工作请求中发送该实例。...如果是唯一任务,将 ExistingWorkPolicy 为 REPLACE 新 WorkRequest 加入到了队列时,旧 WorkRequest 会立即被视为取消。

1.9K11

JetPack--WorkManager

WorkManager是用于后台执行任务工具,相比于Service、JobSchedule等,它拥有很低能耗,但是它不是立即执行任务,对于一些不需要及时完成任务,使用WorkManager是一个很好选择...WorkManager兼容性也很好,最低支持api14,api23以前,WorkManager内部是使用了JobSchedule,23以后使用是AlarmManager+BroadCastReceiver...,继承Worker,doWork方法需要返回一个Result结果,有成功、重试、失败: package com.aruba.workmanager; import android.content.Context...(this).enqueue(workRequest); 2.指数退避策略 我们也可以为任务配置指数退避策略,当任务需要retry时,它会根据给定退避时间指数增长,列:退避时间为2,重试时间间隔为...,doWork方法内可以获取到创建时传递参数,并且传递新参数 @NonNull @Override public Result doWork() { Log.i

65010

Jetpack组件之WorkManager

首语 Android应用中大部分都需要执行后台任务,因此也提供了多种解决方案,JobScheduler、Loader等。但不合理使用这些API,会造成消耗大量电量。...JetPackWorkManager为应用程序执行后台任务提供了 一个统一解决方案。 WorkManager可以自动维护后台任务执行时机,执行顺序,执行状态。...任务一定会被执行 WorkManager能保证任务一定会被执行,即使应用程序不在运行,甚至是在设备重启后,任务仍然会在适当时刻执行,这是因为WorkManager有自己数据库,任务所有信息和数据都保存在数据库...注: WorkManager宣称能够保证任务得到执行,但是在非Android原生系统真是设备上进行测试发下,应用彻底退出和设备重启后,任务没有再次被执行。...这也是Android碎片化所导致,许多厂商修改了手机ROM,造成不能得到执行,因此,分析需求是否可以使用WorkManager

1.1K10

WorkManager从入门到实践,有这一篇就够了

例如我们来实现一个清除相关目录下.png图片Work class CleanUpWorker(context: Context, workerParams: WorkerParameters) :...由于篇幅有限,这里就不一一展开,感兴趣可以查看源码 4.2 PeriodicWorkRequest PeriodicWorkRequest是可以周期性执行任务,它使用方式与配置和OneTimeWorkRequest...WorkManager支持两种方式来获取响应结果 Request.id: WorkRequestid Tag.name: WorkRequest设置tag 同时返回WorkInfo还支持LiveData...WorkInfo获取本质是通过操作Room数据库来获取。在文章Work部分已经提到,在执行完Work任务之后传递数据将会保存到Room数据库。...7 项目地址 7.1 Android精华录 该库目的是结合详细Demo来全面解析Android相关知识点, 帮助读者能够更快掌握与理解所阐述要点。

1.7K20

WorkManager用法

一.WorkManager作用   绝大部分应用程序都有后台执行任务需求,根据需求不同,Android为后台任务提供了多种解决方案,JobShedule,Loader,Service等。...如果这些api没有被正确使用,则可能导致消耗大量电量。WorkManager为应用程序那些不需要及时完成任务提供了一个统一解决方案,以便在设备电量和用户体验间达到一个比较好平衡。...WorkManager有三个重要特点,分别如下:   1.针对是不需要及时完成任务   2.保证任务一定被执行   3.兼容范围广,最低能兼容API Level14 二.WorkManager基本使用方法...doWork()方法执行 Log.i("OneTimeWorkRequest","Work Start!")...(oneTimeWorkRequest);   5.观察任务状态,任务提交系统后,可以通过WorkInfo获知任务状态,有三种方式获取WorkInfo对象:     (1)WorkManager.getWorkInfosByTag

39430

WorkManager 基础入门

WorkManager 是一个 Android Jetpack 库,当满足工作约束条件时,用来运行可延迟、需要保障后台工作。对于许多类型后台工作,WorkManager 是当前最佳实践方案。...,而不是并行三个滤镜请求。...监视 LiveData 时,你会看到这些状态;例如,你可能会看到: “happy path” 或工作状态 工作状态经历 “happy path” 如下: BLOCKED:只有当工作在链并且不是链下一个工作时才会出现这种状态...它状态将会以 FAILED 结束,因此,状态完整流程图如下所示: (来自:Working with WorkManager Android 开发者峰会 2018) 想看精彩视频讲解,请查看 WorkManager...想亲自试试 WorkManager 吗?查看 codelab,包含 Kotlin 和 Java 代码。 随着我们继续更新本系列,请继续关注有关 WorkManager 主题更多博客文章。

17410

WorkManager 基础入门

WorkManager 是一个 Android Jetpack 库,当满足工作约束条件时,用来运行可延迟、需要保障后台工作。对于许多类型后台工作,WorkManager 是当前最佳实践方案。...,而不是并行三个滤镜请求。...“happy path” 或工作状态 工作状态经历 “happy path” 如下: BLOCKED:只有当工作在链并且不是链下一个工作时才会出现这种状态。...(来自:Working with WorkManager Android 开发者峰会 2018) 想看精彩视频讲解,请查看 WorkManager Android 开发者峰会演讲。...想亲自试试 WorkManager 吗?查看 codelab,包含 Kotlin 和 Java 代码。 随着我们继续更新本系列,请继续关注有关 WorkManager 主题更多博客文章。

94560

Android开发笔记(一百八十八)工作管理器WorkManager

Android11不光废弃了AsyncTask,还把IntentService一起废掉了,对于后台异步服务,官方建议改为使用工作管理器WorkManager。...当然这些后台工具用法各不相同,徒增开发者学习时间而已,于是乎谷歌索性把它们统一起来,在Jetpack库推出了工作管理器WorkManager。...这个WorkManager兼容性很强,对于Android6.0或更高版本系统,它通过JobScheduler完成后台任务;对于Android6.0以下版本系统(不含Android6.0),通过AlarmManager..., workInfo -> {     if (workInfo.getState() == WorkInfo.State.SUCCEEDED) { // 工作处理成功         Data outputData...点此查看Android开发笔记完整目录

1.1K30

WorkManager: 周期性任务

如果您一直关注本系列文章,则会发现我们已经讨论过: Android Jetpack WorkManager | Android 中文教学视频 WorkManager 在 Kotlin 实践 本文将介绍...接下来内容,我都会使用需要传入 context 新语法来获取 WorkManager 实例。...更多有关获取任务状态信息,请参考本系列Android Jetpack WorkManager | Android 中文教学视频》和 WorkManager 文档:任务状态和观察任务。...您可以通过阅读 使用 WorkManager 2.1.0 进行测试 这篇文档来了解更多,也可以查看 Sunflower 示例应用 中使用这些新构造器进行测试示例: import android.content.Context... [android-workmanager] 标签 Android 开发者博客上关于 Power 文章系列

1.7K30

Jetpack WorkManager 看这一篇就够了~

前言 最近有读者反馈,在我新书《Android Jetpack 开发:原理解析与应用实战》并没有提及到WorkManager,这是因为目前这个东西在国内并不是很好用。...我们可以通过注册监听器来观察 WorkInfo 变化,以根据ID查询WorkInfo状态为例,代码如下所示: WorkManager.getInstance(this).getWorkInfoByIdLiveData...,这里读者可自行查看API。...总结 特性及注意事项 在早于 Android 12 API 版本,加急工作都是由前台服务执行,而从 Android 12 开始,它们将由加急作业 (expedited job) 实现。...所以在第4小节,默认Android12上并不会显示通知栏 WorkManager 只是一个处理定时任务工具 WorkManager 最早兼容到 API 14(Android 4.0)

1.3K20

是时候更新手里武器了—Jetpack架构组件简析

迫不及待了吧,跟随我一起看看每个库神奇之处。 数据绑定 “数据绑定库是一种支持库,借助该库,您可以使用声明性格式(而非程序化地)将布局界面组件绑定到应用数据源。...” Lifecycles,称为生命周期感知型组件,可以感知和响应另一个组件( Activity 和 Fragment)生命周期状态变化。...与常规可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件( Activity、Fragment 或 Service)生命周期。...不会因 Activity 停止而导致崩溃如果观察者生命周期处于非活跃状态(返回栈 Activity),则它不会接收任何 LiveData 事件。...接下来一一解密 关于应用退出和设备重启 如果APP正在运行,WorkManager会在APP进程起一个新线程来运行任务;如果APP没有运行,WorkManager会选择一个合适方式来调度后台任务--

2.9K20

WorkManager 系列课程 | MAD Skills

在最后一集,我们介绍了如何将 GCMNetworkManager 和 FirebaseJobDispatcher 旧代码迁移到 WorkManager。...在本集最后,Ben 还演示了如何在工作完成后返回结果,以使界面随之更新。...一旦您应用开始以 API 级别 30 及更高版本为目标平台,则 GCM NetworkManager 和 FirebaseJobDispatcher 在 Android 6.0 及以上版本设备将会不工作...点击这里查看视频 第 5 集: Hugo 谈 WorkManager Android GDE Hugo Visser 谈论了他为何选择在自己最近开发一款健康应用中使用 WorkManager,以及该库为他开发工作带来了哪些帮助...点击这里查看视频 第 6 集: 现场问答 在本系列课程最后是一个问答环节,我们回答了大家提出 WorkManager 相关问题。

32820

自定义 WorkManager —— 基础概念

目前为止本系列已经讨论过: Android Jetpack WorkManager | Android 中文教学视频 WorkManager 在 Kotlin 实践  WorkManager: 周期性任务...您也可以查看 Advanced WorkManager codelab 实战教程,以了解此功能在真实示例实现,以及您可以通过此功能获取到什么样信息。...现在让我们回顾一下我们已经做了事情,然后深入了解其中每一步详细信息: 禁用默认初始化 实现一个自定义 WorkerFactory 创建自定义配置 初始化 WorkManager 禁用默认初始化  ...WorkManager 文档 描述,禁用操作要在您 AndroidManifest.xml 文件完成。...接下来文章我们将会讨论如何在自定义 WorkManager 配置时使用 Dagger,感兴趣读者请继续关注。

60440

WorkManager 在 Kotlin 实践

WorkManager 是一个 Android Jetpack 扩展库,它可以让您轻松规划那些可延后、异步但又需要可靠运行任务。...对于绝大部分后台执行任务来说,使用 WorkManager 是目前 Android 平台上最佳实践。...目前为止 WorkManager 系列已经讨论过: Android Jetpack WorkManager | Android 中文教学视频 在这篇文章,我们将讨论: 在 Kotlin 如何使用 WorkManager... WorkManager 发布日志 描述那样,只需要在 build.gradle 文件添加 androidx.work:work-runtime-ktx 依赖项,即可使用 KTX 版 WorkManager...要了解关于如何在 Kotlin 中使用 WorkManager,可以尝试这个 codelab。 测试 Worker 类 WorkManager 有几个额外工具类,可以很方便地测试您 Work。

1.8K10

Android 应用启动性能 | 延迟初始化

在 上一篇文章 ,我展示了 content provider (它出现在应用合并后 manifest 文件) 是如何在应用启动时候自动加载第三方库以及模块。...为了通过应用启动库加载 WorkManager,我先在应用 build.gradle 文件添加了应用启动库: // 查看最新版本号 https://developer.android.google.cn...如果您需要在应用中使用多个库,请查看 应用启动使用手册 关于使用 dependencies() 详情。...标签很重要,因为它表示需要 Android Studio 删除自动生成 provider,而该 provider 是在 build.gradle 文件添加 WorkManager 后生成。...您可以通过查看合并后 manifest 文件来验证 -- 详情请查看 第一篇文章),但是它们有两个很重要不同点: tools:node="merge" 这个参数主要用于 Android Studio

64220

Android Studio 对现代 WorkManager 支持

在 上一篇文章 ,我们提到了现代 WorkManager API 对工具支持方面也进行了改进,本文我们将结合实际案例来看看具体有哪些改进。如果您更喜欢通过视频了解此内容,请 点击此处 查看。...△ 打开 App Inspection 面板 示例演示 本次演示使用了 Android Studio Bumblebee 和 GitHub 上公开 WorkManager 示例。...△ 使用应用检查器面板图表视图 您也可以从类似图示图像查看整个接续队列内容。请从中选择一个 Worker,切换到图表视图 (按钮为流程图样式)。...您可以点击数据库检查器标签页,并在其中查找某项工作唯一 ID。您会发现,有关该特定执行各项信息都被保存下来了。 后台任务检查器 您还可以进一步查看某个特定执行被安排到了哪一个队列。...以上便是 WorkManager 相关全部内容,如需更多资源,请参阅: 现代 WorkManager API 发布 WorkManager 系列文章: 使用 Dagger 自定义 WorkManager

44820
领券