问题标签 [android-workmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3210 浏览

android - PeriodicWorkRequest 初始延迟的任何方式

对于OneTimeWorkRequest,我们必须setInitialDelay指定初始延迟。

但是,没有这样的设施PeriodicWorkRequest

有没有可靠的方法来实现这一目标?

一种不太可靠的方法是让一个延迟的OneTimeWorkRequest工作人员来设置PeriodicWorkRequest. 不过这样比较麻烦,而且有可能会出现哪里OneTimeWorkRequest失败,无法安装PeriodicWorkRequest

0 投票
1 回答
520 浏览

android - 从代码触发 PeriodicWorkRequest

我正在使用 WorkManager -> PeriodicWorkRequest 设置数据库与服务器的定期后台同步。

这一点工作正常。

当用户执行拉动刷新时,我分别使用 aOneTimeWorkRequest与服务器同步:

这也很好。

现在我也想使用周期性请求来代替一次性请求。我的主要原因是在用户手动同步后立即触发定期请求时不进行双重同步。

有没有办法触发PeriodicWorkRequestfrom 代码,所以我可以用OneTimeWorkRequest调用来替换PeriodicWorkRequest.

0 投票
2 回答
369 浏览

android - 从 Worker 更改 Db 时 LiveData 未更新

我正在向我的 Room db 写一条消息,然后在成功时将其发送到服务器我更新数据库中的消息。

当我从 Worker (WorkManager) 尝试此操作时,即使消息被写入数据库,保存消息的 LiveData 也不会更新。

小例子(插入不会更新 LiveData,但当我重新启动应用程序时会显示消息):

在 Worker 之外,一切正常。

0 投票
2 回答
752 浏览

java - 如何在 Dagger 2.16 中为工作类实现 Dagger?('android.arch.work:work-runtime')

如何在 Dagger 2.16 中为工人类实现 Dagger?

我的应用组件

如何注入settingRepository?

0 投票
1 回答
50 浏览

android - Android Worker 线程

我在我的应用程序中使用 WorkManager,是否有机会在每个 Worker 实例上强制使用相同的线程?我正在从列表中的那些 Worker 中进行操作,我需要确保它们的顺序正确。我知道有,ExistingWorkPolicy.REPLACE但它仅在 Worker 未启动时才起作用。

0 投票
0 回答
1221 浏览

android - androidx.work.impl.background.systemjob.SystemJobScheduler.scheduleInternal 期间的 java.lang.IllegalStateException

我们正在使用以下 WorkManager

我们没有升级1.0.0-alpha02,因为我们要保持我们的targetSdkVersion 27

在生产中,我们注意到以下崩溃报告。

请建议我们如何摆脱这些崩溃。谢谢。

0 投票
1 回答
1245 浏览

android - WorkManager 实例即使在应用程序被卸载后仍保持活动状态 (?)

我一直在尝试新的 Android WorkManager API,它似乎工作正常。但是我在测试我的应用程序时注意到了一些事情:在创建一个新的周期性工作实例之前,我检查状态以避免创建多个:

应用程序第一次启动时,状态没有返回任何内容并创建了一个新的,但后来我需要卸载我的应用程序,当它再次启动时,已经从日志中创建了一个工作人员:

我知道 API 仍处于 alpha 阶段,但我想知道这是否是预期的以及这是否不会成为问题。我认为如果用户卸载您的应用程序,这些后台任务也应该被删除。我一直在尝试找到一些与此相关的信息,但到目前为止我还找不到。有没有人看到这个或者任何人都可以给我一个文档或类似的东西?

谢谢您的帮助

0 投票
0 回答
153 浏览

android - 当活动即将开始、开始或结束时更新应用程序

我是新来的,所以我不确定我这样做是否正确。

我正在创建一个应用程序,我可以在其中将主题(基本上是定时事件)上传到 firestore 数据库。我遇到的问题是如何正确管理这些事件。目前我正在使用WorkManager来安排每小时从数据库读取一次以检查是否添加了任何新主题,但是问题在于该服务可能尚未启动,因此当打开应用程序时,我创建了空状态显示,我无法想出通过滑动刷新或类似的方式手动启动服务的方法。

它目前还设置为将我的离线房间数据库与新主题同步,一旦它实际从 Firestore 中获取它们,效果很好。但是我想让它更流畅、更自动化,这就是为什么我选择使用WorkManager

如果值得注意,我尝试使用SharedPreferences来跟踪主题的状态并根据该状态发送通知(无论是开始、已开始还是结束)但问题是我每次都必须清除 App Data我安装了该应用程序以使其工作。

你会怎么做呢?

最好朝正确的方向轻推,但也欢迎提供代码示例(可能是伪代码)。

工人阶级:

我在我的应用程序类中启动工作人员的位置:

mFirebaseMethods是一个存储库类,它具有执行房间数据库操作的所有 asynctask 代码

0 投票
0 回答
113 浏览

android - 将 Dagger 2 注入 Worker 类

是否可以将带有匕首的字段注入 Worker 类,即使它是由 WorkerManager 框架创建的?

事先谢谢你。

0 投票
4 回答
8820 浏览

android - 检查 WorkRequest 之前是否已被 WorkManager Android 入队

我每 15 分钟使用 PeriodicWorkRequest 为我执行一项任务。我想检查一下,这个定期工作请求是否之前已经安排好了。如果没有,请安排它。

以前当我使用 JobScheduler 执行任务时,我曾经使用

需要帮助为工作请求构建类似的模块,以帮助查找计划/活动的工作请求。