javascript - 如何在 JS/HTML/CSS 中每分钟以可视方式更新 Windows 应用商店应用程序的动态磁贴?

标签 javascript windows-8 windows-store-apps microsoft-metro

我希望每次用户打开“开始”屏幕时更新我的​​应用程序的事件磁贴,因为它的事件磁贴功能“仅”可视化(不需要在锁屏上或执行特定逻辑 例如背景)

在 Windows 应用商店中,您可以找到“ watch ”应用,该应用会通过其应用动态磁贴在开始屏幕上向您显示时间,通常以每分钟为单位,而不是更多。这对我来说是完美的。

Watch in a live tile.

这些应用程序似乎有比那些著名的 15 分钟更精确的时间间隔,并且它们确实作为后台任务运行(这些应用程序请求许可)。

那么每 15 分钟实际上发生了什么?为什么这些图 block 不受这 15 分钟间隔的限制?我听说他们可能会使用通知队列,但他们仍然需要每 1 分钟更新一次...

非常感谢您的帮助!

最佳答案

您可以使用 TileUpdater.addToSchedule安排up to 4096 notifications .所以,我想一种方法是:

  1. 设置维护任务以在某个时间间隔运行(不需要 为此在锁定屏幕上)。
  2. 任务运行时:

    2a。清除您的通知队列。

    2b。安排一堆通知,一个现在 + 1 分钟,一个 for now + 2 minutes, etc (register less than 4096, and don't 注册比你真正需要的更多)。

您的维护任务可以安排为每天运行,但您可以安排 2 天的通知,以防它没有及时运行。

这样做的主要缺点是,如果用户使用电池供电超过 2 天(或者无论您安排的时间有多长),您的通知将停止,直到它们插上电源并且允许您的维护任务运行。

如果您不需要每分钟更新一次,则可以将它们安排在更远的 future (即一周或更长时间,如果您每 5 分钟更新一次)。

关于javascript - 如何在 JS/HTML/CSS 中每分钟以可视方式更新 Windows 应用商店应用程序的动态磁贴?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16238626/

相关文章:

javascript - HTML/CSS Div 定位,使子 Div 适合父 Div

javascript - AngularJS 访问 $http 之外

wpf - 如何以编程方式禁用 Windows 8 Charms 栏?

css - 自定义复选框/ radio 设计怪异

c# - BarcodeScanner.GetDefaultAsync() 返回 null

javascript - 如何在 React 中显示来自 django-rest-framework 的错误消息

javascript - 内容安全策略 : cannot load Google API in Chrome extension

asp.net - Sys.WebForms.PageRequestManager.getInstance() 在 IE 10 和 Windows 8 中不支持

windows-8 - Windows Phone 8 - 设备管理

windows-8 - Windows应用商店应用(Windows 8)与UWP