我如何知道实时瓦片更新“;失败”;

本文关键字:失败 更新 何知道 实时 | 更新日期: 2023-09-27 18:21:05

我的应用程序正在使用活动瓦片。用于更新磁贴的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);

现在,正如我之前所说,通知可能会失败;失败的意思是瓦片没有被更新。看起来,如果我向Update发送我想要的任何XML内容,都不会引发异常,而且我永远不知道活动瓦片是否工作。

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

我如何知道实时瓦片更新“;失败”;

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

您可以通过使用库(可能是PushSharp)或在将数据传递给通知服务之前对从网络服务中检索到的数据进行清理,在一定程度上保护自己。