每个星期五通过WorkManager API安排特定任务

问题描述 投票:3回答:4

我正在使用workmanager在每个星期五发送短信以进行提醒。甚至,应用也处于关闭状态。样本:

PeriodicWorkRequest periodicWork = new 
    PeriodicWorkRequest.Builder(MyWorker.class, 7, TimeUnit.DAYS).build();
WorkManager.getInstance().enqueue(periodicWork);

任何人都可以提供帮助。谢谢。

注意:我有此一次性请求。它的工作正常。甚至,应用程序也被关闭。

WorkManager workManager = WorkManager.getInstance();
workManager.enqueue(new OneTimeWorkRequest.Builder(MyWorker.class).build());

如果可能,则无法使用workmanager,请在Android中也建议任何其他api。

已经引用此链接:它不起作用。Schedule a work on a specific time with WorkManager

android alarmmanager android-jetpack android-workmanager android-jobscheduler
4个回答
0
投票

不是最好的解决方案,但是可以。使用PeriodicWorkRequest并每天安排任务。然后使用jodatime图书馆并检查是否是星期五。如果是星期五,请执行任务。如果没有取消任务。根据第一次执行,您可以通过在请求上添加6来操纵PeriodicWorkRequest来安排每个星期五的计划。


0
投票

对于此用例,WorkManager是错误的选择。

为什么?

WorkManager用于可延迟的任务,即不需要立即运行,并且即使应用程序退出或设备重新启动也必须可靠地运行。

如果要在某个时间点精确运行任务,则应使用AlarmManager。>


0
投票

可以使用AlarmManager(未在workmanager上尝试过,但可以通过以下方式在AlarmManager上测试并正常工作)。


0
投票

以下步骤可能会有所帮助:

© www.soinside.com 2019 - 2024. All rights reserved.