8得票1回答
在AppWidgetProvider中启动WorkManager任务导致无限的onUpdate调用

我正在尝试创建一个小部件,如这个指南中所述, ...如果你的小部件设置过程可能需要几秒钟(也许是在执行网络请求),并且你需要继续进行处理,请考虑在onUpdate()方法中使用WorkManager启动Task。 但是,通过在onUpdate方法中排队工作请求后,我会无限制地每隔大约半...

15得票3回答
WorkManager - 如何按顺序执行作业

我有一个监听FCM通知的服务。当收到这样的通知时,我使用WorkManager运行一个作业。当同时接收到多个通知时,如何确保一次只执行一个作业?这些作业应该按顺序执行。在这种情况下,我想发送短信,这些短信不能同时发送。(请注意,在发送短信之前和之后,我还会做其他事情,比如http请求,这就是为...

24得票3回答
如何在Android中的Work Manager中传递POJO类?

我们如何通过工作管理器setData方法传递Serializable对象?是否有一种方法可以通过传递对象来与WorkManager一起处理? WorkManager是一个库,用于排队工作,并保证在满足其约束条件后执行。 WorkManager允许观察工作状态并能够创建复杂的工作链。 Map&...

9得票5回答
ListenableWorker无法移除通知图标。

我正在使用ListenableWorker执行后台任务。 同时,我希望操作系统知道我的服务的重要性,因此我调用 setForegroundAsync(new ForegroundInfo(WorkerConstants.NOTIFICATION_FOREGROUND_ID, builde...

11得票1回答
带有定期请求的工作管理器被多次调用。

我正在使用Work Manager进行定期任务。我需要执行单个Worker实例。 以下是我的代码 val workManager = WorkManager.getInstance() val callDataRequest = PeriodicWorkRequest.Builder(...

16得票3回答
使用Hilt注入CoroutineWorker:无法实例化worker。

有些问题已经被问过,但对我没有用。一开始我使用的是最新版本的 Work Manager,即 2.7 Alpha 3,但我降级了,因为它只与 Android 12 预览 SDK 兼容。但错误仍然存在! 由于这些依赖项包含在 Worker 的构造函数中,它无法实例化该 Worker。在添加它们之前...

12得票2回答
WorkManager的beginUniqueWork方法无法按预期工作

目前,我正在使用WorkManager 1.0.0-alpha02。 def work_version = "1.0.0-alpha02" implementation "android.arch.work:work-runtime:$work_version" // use -ktx fo...

11得票3回答
WorkManager:为什么使用“APPEND”ExistingWork策略的失败唯一工作不允许使用相同名称的更多工作?

假设我们正在开发一个消息应用程序,我们希望将消息发送到给定的对话中,其中这些消息的顺序仅在该对话中重要,如果应用程序被置于后台,则希望保证消息将被发送。 WorkManager#beginUniqueWork方法似乎非常适合此任务,其中uniqueWorkName将是某个对话ID,并且Exi...

21得票3回答
将Android中定期工作管理器的初始延迟设置为一个时间段。

我有一个Worker实例,需要每24小时运行一次,这对于PeriodicWorkRequest API来说相当简单。但是有一个问题。 如果用户在晚上8点开始工作,我需要第一次工作管理器在第二天早上9点运行,然后遵循24小时的周期限制。 我在这里找到了OneTimeWorkRequest A...

7得票2回答
如果应用程序更新,WorkManager的队列会被清除吗?

每次应用程序启动时,我都使用ExistingPeriodicWorkPolicy.KEEP排队定期工作,以便如果已经有计划,则不会排队其他工作。 假设在未来的应用程序更新中,我更改了工作的约束或周期性,但保留了原始的uniqueName。这个更改会被忽略吗,因为PeriodicWorkReq...