【问题标题】:Updating Application tile using TileUpdateManager使用 TileUpdateManager 更新应用程序磁贴
【发布时间】:2012-08-18 14:22:02
【问题描述】:

我正在使用 Windows 8 发布预览版和 C#(VS 2012) 开发 Metro 应用程序,我正在使用以下代码来更新应用程序磁贴。

TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);

XmlDocument TileXML = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImage);                

XmlNodeList imageAttribute = TileXML.GetElementsByTagName("image");
((XmlElement)imageAttribute[0]).SetAttribute("src", "ms-appx:///Assets/Tile.png");
((XmlElement)imageAttribute[0]).SetAttribute("alt", "red graphic");

TileNotification notify = new TileNotification(TileXML);
notify.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(10);

TileUpdateManager.CreateTileUpdaterForApplication().Update(notify);

但是我的应用程序磁贴没有更新,我不知道我错过了什么以及我做错了什么,请帮助我。

我得到了答案,关于添加扩展文件“NotificationExtensions.winmd”作为我的参考,我还有几个问题

  1. 当我通过将目标设备设置为“本地”来运行上述代码时 机器”它可以工作,但是当我将其设置为“模拟器”时它不会,可以 请任何人解释我为什么。
  2. 我们使用下面的行有瓷砖的到期时间
    notify.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(10);
    如果希望动态磁贴连续运行,我必须做什么,

    如果有任何链接或学习资料,请告诉我 提前致谢。

【问题讨论】:

  • 它在没有通知延迟的情况下工作吗?您的 Tile.png 是否符合
  • 不设置ExpirationTime是否有效?
  • 刚刚将此代码弹出到 dev.windows.com 上的磁贴和徽章示例中,它就可以工作了。唯一的区别是我在示例中没有您的图片(我使用了 redWide.png),所以可能存在图片尺寸问题?还是引用的图片不在您的应用包中?
  • 谢谢各位,我知道了,我的图像大小是

标签: c# xaml windows-8 microsoft-metro windows-runtime


【解决方案1】:

谢谢你们,我得到了答案,我的图像大小是

【讨论】:

    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多