我正在使用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
不是最好的解决方案,但是可以。使用PeriodicWorkRequest并每天安排任务。然后使用jodatime图书馆并检查是否是星期五。如果是星期五,请执行任务。如果没有取消任务。根据第一次执行,您可以通过在请求上添加6来操纵PeriodicWorkRequest来安排每个星期五的计划。
对于此用例,WorkManager是错误的选择。
为什么?
WorkManager用于可延迟的任务,即不需要立即运行,并且即使应用程序退出或设备重新启动也必须可靠地运行。
如果要在某个时间点精确运行任务,则应使用AlarmManager。>
可以使用AlarmManager(未在workmanager上尝试过,但可以通过以下方式在AlarmManager上测试并正常工作)。
以下步骤可能会有所帮助: