我正在为我的应用程序使用动态磁贴。用于更新磁贴的 XML 是动态生成的,有时更新会因为内容而失败(我无法控制动态磁贴中显示的内容,我从 Web 服务中获取)。
我曾经使用 API 通过实例来构建通知,TileWideSmallImageAndText02
但现在我需要直接在代码中构建 XML。我的代码的简化版本:
string tileXml = "<tile><visual><binding template=\"TileWideSmallImageAndText02\">" +
"<image id=\"1\" src=\"" + image + "\" alt=\"alt text\"/>"
+ "<text id=\"1\">" + title + "</text>"
+ "<text id=\"2\">" + date + "</text>"
+ "<text id=\"3\">" + time + "</text>"
+ "<text id=\"4\">" + length + "</text>"
+ "</binding>"
+ "</visual>"
+ "</tile>";
Windows.Data.Xml.Dom.XmlDocument tileDOM =
new Windows.Data.Xml.Dom.XmlDocument();
tileDOM.LoadXml(tileXml);
TileNotification tile = new TileNotification(tileDOM);
TileUpdateManager.CreateTileUpdaterForApplication().Update(tile);
现在正如我之前所说,通知可能会失败;失败我的意思是瓷砖没有被更新。看起来,如果我将任何我想要的 XML 内容发送到Update
,不会引发异常,而且我永远不会知道活动磁贴是否有效。
如果我从我使用的 Web 服务收到格式错误的数据,那么拦截故障的好方法是什么?