我如何知道实时磁贴更新是否“失败”?

时间:2013-07-04 11:35:46

标签: c# windows-runtime live-tile

我正在为我的应用程序使用活动磁贴。用于更新磁贴的XML是动态生成的,并且有时更新失败,因为内容(我不控制活动磁贴中显示的内容,我从webservices获取)。

我曾经使用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,则不会引发任何异常,我将永远不知道实时磁贴是否有效。

如果我从我使用的网络服务收到格式错误的数据,拦截失败的好方法是什么?

1 个答案:

答案 0 :(得分:0)

据我所知,没有办法检查更新是否失败。

在将文件传递给Notification服务之前,您可以通过使用库(可能PushSharp)或清理从Web服务中检索到的数据来保护自己。