4

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

就像原生警报应用程序一样,即使没有活动网页,它也应该在选定的时间得到通知。

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

即使没有网络连接也可以在当时得到通知吗?

4

1 回答 1

3

您所描述的是与定期后台同步更紧密相关的功能,而不是推送通知,因为推送通知需要网络连接。定期后台同步具有独立于网络的优势。(定期后台同步目前只是一个提议,还没有在任何浏览器中实现。)

但是,不幸的是,对于您的用例,周期性后台同步显然不是为需要在精确时间触发的事件而设计的,而这对于使闹钟有用是必需的。根据原提案:

什么不是周期性同步

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

同步运行的结果应该是“有益的”而不是“关键的”。如果您的用例很关键,一次性同步或推送 API 可能会满足您的要求。

现代移动操作系统中包含各种优化,以在设备处于空闲状态时最大限度地减少功耗,包括以交错的批次运行周期性任务,而不是对这些任务何时运行进行细粒度控制。

于 2016-08-29T16:57:48.953 回答