是否可以在脱机时间的选定时间通知ServiceWorker?

时间:2016-08-29 11:46:01

标签: javascript service-worker progressive-web-apps push-api

说,我想在Android上制作闹钟应用程序作为渐进式网络应用程序。

与本机警报应用程序一样,即使没有活动网页,也应在选定时间通知它。

起初,我考虑使用push api。但当然离线时无法到达推送消息。并且推送消息到达时间对于闹钟来说也不够准确。

即使没有网络连接,是否可以在当时收到通知?

1 个答案:

答案 0 :(得分:2)

您所描述的是与periodic background sync更紧密相关的功能,而不是推送通知,因为推送通知需要网络连接。定期背景同步具有与网络无关的优点。 (定期后台同步现在只是一个提案,并没有在任何浏览器中实现。)

,遗憾的是,对于您的使用案例,定期后台同步显然不适用于需要在精确时间触发的事件,这对于使闹钟有用是必需的。提案中的explicitly called out

  

周期性同步不是

     

定期同步特别不是确切的警报API。安排   粒度以毫秒为单位,但事件可能会因触发而延迟   几个小时取决于使用频率和设备状态   (电池,连接,位置)。

     

同步运行的结果应该是"有益的"不是"关键"。   如果您的用例非常重要,可以使用一次性同步或推送API   你的要求。

现代移动操作系统中融入了各种优化功能,可以在设备被视为空闲时最大限度地降低功耗,包括以交错批量运行定期任务,而不是对这些任务进行细粒度控制。< / p>