【发布时间】:2019-08-16 20:08:16
【问题描述】:
我正在开发一个 ToDo 应用程序。一位用户可以为任何任务选择提醒日期,我的应用程序将能够在用户选择提醒的日期显示通知。我对这个主题进行了研究。我发现我可以使用 AlarmManager、PendingIntent、WorkManager 等……但我不知道哪种方式最好。你能告诉我应该使用哪种方法吗?
【问题讨论】:
标签: android alarmmanager android-workmanager
我正在开发一个 ToDo 应用程序。一位用户可以为任何任务选择提醒日期,我的应用程序将能够在用户选择提醒的日期显示通知。我对这个主题进行了研究。我发现我可以使用 AlarmManager、PendingIntent、WorkManager 等……但我不知道哪种方式最好。你能告诉我应该使用哪种方法吗?
【问题讨论】:
标签: android alarmmanager android-workmanager
为了为您的项目选择正确的解决方案,您需要考虑以下三个问题:
工作可以推迟,还是需要立即进行?例如,如果您需要从网络中获取一些数据以响应用户单击按钮,那么该工作必须马上完成。但是,如果您想将日志上传到服务器,则可以推迟这项工作,而不会影响您应用的性能或用户期望。
工作是否取决于系统条件?您可能希望您的工作仅在设备满足特定条件时运行,例如连接到电源、连接到互联网等。例如,您的应用可能需要定期压缩其存储的数据。为避免影响用户,您希望仅在设备充电和空闲时执行此作业。
作业是否需要在精确的时间运行?日历应用程序可以让用户为特定时间的事件设置提醒。用户期望在正确的时间看到提醒通知。在其他情况下,应用程序可能不关心作业何时运行。该应用程序可能具有一般要求,例如“作业 A 必须首先运行,然后是作业 B,然后是作业 C”,但它并不要求作业在特定时间运行。
(source)
【讨论】: