问题标签 [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 投票
1 回答
4439 浏览

android - WorkerManager 是在应用程序中实现警报/提醒功能的可行方式吗?

我们注意到AlarmManagerCompat,由于AlarmManager不同版本的操作系统的行为不同,仅此一项并不是在我们的应用程序中实现警报/提醒功能的可靠方法。(例如,打盹模式)

最初,我们计划使用 Evernote 的android-job库来帮助我们在我们的应用程序中实现警报/提醒功能。

然而,一路走来,我们也注意到谷歌刚刚发布了WorkerManager.

到目前为止WorkerManager,当我们在应用程序退出后运行一些一次性后台作业(几乎立即,具有互联网连接限制)时,对我们来说效果很好。

我们计划使用WorkerManager来实现警报/提醒功能。

WorkerManager我想知道,实现这样的功能有多可靠?有人尝试过吗?我们的目标是 API 15 及更高版本。

0 投票
1 回答
2839 浏览

android - 处理WorkManager对网络连接失败的响应

我正在使用 WorkManager 将数据从本地 Room 数据库同步到服务器。问题是 Room 在 Loop.MainLooper() 中构建数据库时出错,当我按照以下方式使用它时,它工作正常。但是我无法根据任务完成在 SUCCESS 或 RETRY 上返回“WorkerResult”。当 Netwrok 丢失时如何停止工作人员?

0 投票
1 回答
1675 浏览

android - 如何将 Bundle 转换为 WorkManager 数据

我试图摆脱这里描述的IntentService处理时由于 Android O 背景限制。但是我不能将带有推送信息的Bundle extras 作为参数传递给from 。有没有办法将 Bundle 放入DataGCMWorkManagerBroadcastReceiverWorkManager

0 投票
2 回答
1104 浏览

java - WorkManager 找不到所需的零参数构造函数

WorkManager 1.0.0-alpha02在依赖项中使用 foundandroid.arch.work:work-runtime每隔一分钟查询一个网页(此示例排除了查询代码,因为它无关紧要)。

当我WorkManager这样使用时:

它给出了这个错误信息:

我尝试了以下构造函数无济于事:

  • 没有构造函数
  • 上市
  • 私人的
  • 具有非空主体的构造函数,其唯一语句为super();
0 投票
1 回答
985 浏览

android - 迁移到 FCM 和 Android O - 启动 IntentService 仍然有效吗?

我目前正在将我的项目更新为 targetSdkVersion 26 (Android O),并从 GCM 迁移到 FCM。

目前我有:

  • RegistrationIntentService获取 GCM 令牌并将此令牌发布到服务器的A。

  • MainActivity检查GooglePlayServices然后启动RegistrationIntentService.

  • AMyInstanceIDListenerService具有onTokenRefresh刚刚启动RegistrationIntentService.

这是基于 Google示例

要迁移到 FCM,我只需更改MyInstanceIDListenerService为继承自FirebaseInstanceIdServiceRegistrationIntentService现在用于FirebaseInstanceId获取令牌。

一切似乎都正常,我在 Android O 模拟器中对其进行了测试。

但是,我知道 Android O 正在限制后台服务。RegistrationIntentService所以,我想知道在以 Android O 为目标的应用程序中从MainActivityand开始是否仍然可以MyInstanceIDListenerService

或者我应该将RegistrationIntentService代码移动到要由 执行的任务WorkManager吗?

谢谢。

0 投票
2 回答
6880 浏览

android - WorkManager beginUniqueWork 无法按预期工作

目前,我正在使用 WorkManager 1.0.0-alpha02。

当应用程序退出时,使用以下代码执行后台工作程序没有问题。

使用入队,按预期工作


因为,我想避免SyncWorker同时运行不止一个。我尝试使用

使用 beginUniqueWork,不起作用

SyncWorker根本没有运行。

我可以知道我错过了哪一步吗?谢谢你。

0 投票
2 回答
1343 浏览

android - Android Work Manager:我可以强制修剪已完成的作业吗?

我正在我的应用中上传照片,并希望向用户提供上传进度。我打算这样做的方法是有一个全局标签,UPLOAD_MEDIA_TAG并在我创建一个OneTimeWorkRequest. 这样我就可以观察WorkManager.getInstance().getStatusesByTag(UPLOAD_MEDIA_TAG)LiveData,每当作业完成时,我都会显示完成的百分比。(IE 上传 3/10 照片会显示 30%)。然后,一旦上传了所有 10/10 照片,我就会隐藏进度条。这很有效,因为它很容易支持离开应用程序,回来,一旦应用程序在他们离开的地方启动,你就会看到进度条。

问题是,一旦所有 10/10 作业都完成并标记为已完成,这些作业将一直存在,直到 WorkManger 修剪它们。因此,如果用户再上传 5 张照片,LiveData 将返回 15 个状态而不是 5 个,从而放弃百分比计算。

我注意到有一种方法OneTimeWorkRequest.keepResultsForAtLeast(duration),但我想要的是类似的方法,keepResultsForAtMost(duration)或者一种WorkManager.getInstance().forcePrune()可以从数据库中清除所有已完成作业的方法。

任何帮助都会很棒!

0 投票
3 回答
44060 浏览

android - 安卓。关闭应用程序时 WorkManager 是否正在运行?

我想安排每晚的数据库更新。所以我使用新的 Android WorkManager。我的理解是,一旦安排好,它将始终在后台独立于应用程序的生命周期运行。那正确吗?我的第一个测试表明只有在应用程序运行时才执行工作。

0 投票
2 回答
3061 浏览

android - WorkManager 是否应该与 SyncAdapter 一起使用?

以前可以使用带有 WakeLock 的 IntentService 或 SyncAdapter 来确保一系列更新。

现在有了新的打盹模式和节省电池的限制,WakeLock 是否仍然足够可靠,或者是否应该使用 WorkManager 在 IntentService 或 SyncAdapter 中启动更长的进程?

WorkManager api 也准备好生产了吗?

0 投票
2 回答
914 浏览

android - PeriodicWorkRequest 触发时间

我想添加一个触发时间来开始工作,但我找不到使用工作管理器的方法,
这是我的代码