说,我想在Android上制作闹钟应用程序作为渐进式网络应用程序。
与本机警报应用程序一样,即使没有活动网页,也应在选定时间通知它。
起初,我考虑使用push api。但当然离线时无法到达推送消息。并且推送消息到达时间对于闹钟来说也不够准确。
即使没有网络连接,是否可以在当时收到通知?
答案 0 :(得分:2)
您所描述的是与periodic background sync更紧密相关的功能,而不是推送通知,因为推送通知需要网络连接。定期背景同步具有与网络无关的优点。 (定期后台同步现在只是一个提案,并没有在任何浏览器中实现。)
但,遗憾的是,对于您的使用案例,定期后台同步显然不适用于需要在精确时间触发的事件,这对于使闹钟有用是必需的。提案中的explicitly called out:
周期性同步不是
定期同步特别不是确切的警报API。安排 粒度以毫秒为单位,但事件可能会因触发而延迟 几个小时取决于使用频率和设备状态 (电池,连接,位置)。
同步运行的结果应该是"有益的"不是"关键"。 如果您的用例非常重要,可以使用一次性同步或推送API 你的要求。
现代移动操作系统中融入了各种优化功能,可以在设备被视为空闲时最大限度地降低功耗,包括以交错批量运行定期任务,而不是对这些任务进行细粒度控制。< / p>