所以我在我的Android应用程序中使用this guide实现了通知,经过一些尝试,我让它工作。现在,我想实现的是当用户有一个活跃的任务开始时,每小时安排一次通知。通知将在那里更新用户关于他们的任务。
经过一些研究,我发现了一些关于如何使用AlarmManager安排通知的旧指南。然而,SO和Android论坛上的另一篇帖子说,使用AlarmManager是不好的做法。
你们中有人知道如何正确安排一个或多个通知吗?此外,任务完成后取消通知的功能也是必要的。
应用程序中不涉及后端,因此应在设备本身上安排通知。
亲切的问候。
2条答案
按热度按时间1dkrff031#
AlarmManager工作正常,但它是一个较旧的、功能较弱的API。它也不会在重新启动时保存状态。较新的API包括JobScheduler和WorkManager。第一个用于在特定时间和/或当条件发生(诸如获得网络连接性)时被通知。这意味着1次或重复报警。WorkManager用于后台工作,如数据库同步,这是低优先级的,意味着当设备有空闲容量时完成。使用任何适合您的用例。如果您只是在使用闹钟,那么可能是JobScheduler。
jutyujz02#
使用通知调度作业的现代方式是WorkManager,WorkManager是持久工作的推荐解决方案,您不需要使用服务或任何线程机制来完成任务,您也可以将其用作通知调度器。
WorkManager也在幕后使用AlaramManager,但它是处理作业、线程、通知等更有用、更高效的方式