jjzjj

PeriodicWorkRequest

全部标签

android - Android 中的 WorkManager 多次执行 do Work()

我正在使用WorkManager来安排一些任务,但问题是工作管理器在一次调用中多次执行这些任务{doWork()}。我正在使用:'android.arch.work:work-runtime:1.0.0-alpha08'我试过使用-alpha07,06,05,04。但我有同样的问题。有时甚至一次执行5-6次代码如下:publicclassMyWorkerextendsWorker{@NonNull@OverridepublicResultdoWork(){Log.i("CountWorker","0");sendNotification("Notice","Anoticewassent

android - WorkManager - PeriodicWorkRequest 不适用于 android api 21

我正在尝试使用PeriodicWorkRequest安排定期检查。它适用于androidAPI23及更高版本,但不适用于androidAPI21。在API21上它只能运行一次。这是一个示例代码PeriodicWorkRequestworker=newPeriodicWorkRequest.Builder(TestWorker.class,MIN_PERIODIC_INTERVAL_MILLIS,TimeUnit.MILLISECONDS).setConstraints(Constraints.NONE).addTag(TAG_PERIODIC_WORK_REQUEST).build()

android - 带有 WorkManager 的 PeriodicWorkRequest

由于WorkManager是GoogleI/O中新引入的,我正在尝试使用workmanager定期执行任务,我正在做的是,使用PeriodicWorkRequest安排工作,如下所示:Constraintsconstraints=newConstraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build();PeriodicWorkRequestbuild=newPeriodicWorkRequest.Builder(SyncJobWorker.class,MY_SCHEDULE_TIME,TimeUnit.

android - 在 android oreo 中设备重启后 PeriodicWorkRequest 不工作

我需要根据以下逻辑向用户推送应用通知。A类通知将每24小时显示一次。B类通知将每7天显示一次。C类通知将每15天显示一次。我按如下方式使用了PeriodicWorkRequest工作管理器,在设备重新启动之前它工作正常。设备重启后,我的工作不会被触发。build.gradle---implementation'android.arch.work:work-runtime:1.0.0-alpha04'Java代码PeriodicWorkRequestshowNotification=newPeriodicWorkRequest.Builder(ShowNotificationWorkMa

android - WorkManager 的 PeriodicWorkRequest 只执行一次,不重复

我正在尝试使用WorkManager,但我似乎遇到了一个问题,即PeriodicSync仅在启动时重复一次,仅此而已。我看过这篇文章IsWorkManager'sPeriodicWorkRequestreallyrepeatingforanyone?但那里没有答案。我也在使用最新的alphabuild10。如果有人能提供帮助,将不胜感激。我还是android的新手,但需要让它为一个项目工作。我什至没有尝试将它与我想要的代码一起使用,只是试图让它正确运行。我将它设置为每10秒运行一次,我也尝试了10,000毫秒,但都不起作用,10秒后什么也没有发生。日志消息“Sync”仅在创建时出现一次

android - 避免从 WorkManager 复制 PeriodicWorkRequest

在应用程序启动时,我想启动将永远有效的服务,但是当用户再次打开应用程序时,它会重复。PeriodicWorkRequest.BuildersendDataBuilder=newPeriodicWorkRequest.Builder(SendConnectionMetricsWorker.class,Constants.REPEAT_TIME_INTERVAL_IN_HOURS,Constants.REPEAT_TIME_INTERVAL_UNITS).setConstraints(newConstraints.Builder().setRequiredNetworkType(Netwo

android - 检查 WorkManager 是否已安排

如何检查WorkManager是否已安排。这是我安排WorkManager的代码。publicstaticvoidscheduleWork(){PeriodicWorkRequest.BuilderphotoCheckBuilder=newPeriodicWorkRequest.Builder(WorkManagerService.class,TIME_INTERVAL_IN_SECONDS,TimeUnit.SECONDS);PeriodicWorkRequestphotoCheckWork=photoCheckBuilder.build();WorkManagerinstance=

android - 如何实现 PeriodicWorkRequest 链?

我在研究AndroidWorkManager,喜欢一个问题。我有2个作品,第一个是从服务器获取一些数据,第二个是预加载资源(取决于第一个作品的结果)。我需要每小时执行一次此链。我需要这样的东西:workManager.beginWith(work1).then(work2)但在WorkMangerAPI中,我发现链仅适用于OneTimeWorkRequest。 最佳答案 您不能链接PeriodicWorkRequest。对于您的用例,您可以考虑将OneTimeWorkRequest与Worker一起使用,该Worker在doWork

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

对于OneTimeWorkRequest,我们可以使用setInitialDelay来指定初始延迟。但是,PeriodicWorkRequest没有这样的功能。有什么可靠的方法可以实现吗?一种不太可靠的方法是使用延迟的OneTimeWorkRequestworker来设置PeriodicWorkRequest。但是,这非常麻烦,并且有可能OneTimeWorkRequest可能会失败并且无法安装PeriodicWorkRequest。 最佳答案 自androidx.work:work-*:2.1.0以来,PeriodicWorkRe

android - 在 Android 中为定期工作管理器设置初始延迟

我有一个Worker需要每24小时运行一次的实例,考虑到PeriodicWorkRequest,这非常简单。API。但这就是问题所在。如果用户在晚上8点开始工作,我需要工作管理器的第一个实例在第二天早上9点运行,然后遵循24小时定期约束。我看了here我发现OneTimeWorkRequestAPI有一个setInitialDelay()可以使用的功能,但我找不到PeriodicWork的任何内容API。对此有一些技巧,例如我可以使用OneTimeWork初始延迟,然后安排PeriodicWork从那里开始,但它有点肮脏。有没有办法只用PeriodicWorkRequestAPI?
12