糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 磁贴 磁贴通知

磁贴 磁贴通知

时间:2019-05-25 20:03:33

相关推荐

磁贴   磁贴通知

//选择模版

XmlDocument largeTileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWidePeekImage01);

//添加文字说明

XmlNodeList largetextdata = largeTileData.GetElementsByTagName("text");

XmlNodeList imagedata = largeTileData.GetElementsByTagName("image");

largetextdata[0].InnerText = "F#ck Day!";

largetextdata[1].InnerText = "What a F#cking Day?";

//设置图片

((XmlElement)imagedata[0]).SetAttribute("src","ms-appx:///images/1024.png");

//微标 文字以及图片

XmlDocument smalltiledate = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquarePeekImageAndText02);

XmlNodeList smallTileText = smalltiledate.GetElementsByTagName("text");

XmlNodeList smallTileImage = smalltiledate.GetElementsByTagName("image");

smallTileText[0].InnerText = "Cao Egg";

smallTileText[1].InnerText = "I'm F#cker in there";

((XmlElement)smallTileImage[0]).SetAttribute("src", "ms-appx:///images/1024.png");

//合并两个到一个<visual> XML节点

IXmlNode newNode = largeTileData.ImportNode(smalltiledate.GetElementsByTagName("binding").Item(0), true);

largeTileData.GetElementsByTagName("visual").Item(0).AppendChild(newNode);

//创建通知

TileNotification notification = new TileNotification(largeTileData);

//多少秒以后移除

notification.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(30);

//发送通知

TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);

精简

XmlDocument tileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareBlock);

XmlNodeList textData = tileData.GetElementsByTagName("text");

textData[0].InnerText = "10";

textData[1].InnerText = "Days of Me";

TileNotification notification = new TileNotification(tileData);

//为通知设置到期时间

//默认情况下,本地磁贴和锁屏提醒不会过期,推送通知、定期通知、激活通知会在三天之后过期。

//最好通过使用一个对你的应用有意义的时间设置过期时间,对于本地磁贴和锁屏提醒通知尤其如此。

//磁贴内容的保留时间应不长于内容具有相关性的时间。

//在这种情况下,该通知将在十分钟内到期并从磁贴中删除。

notification.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(20);

TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);

计划磁贴通知

//指定模板

TileTemplateType tileTemplate = TileTemplateType.TileWideImageAndText01;

XmlDocument tileXml = TileUpdateManager.GetTemplateContent(tileTemplate);

//提供通知内容

//设置文字

XmlNodeList tileTextAttributes = tileXml.GetElementsByTagName("text");

tileTextAttributes[0].InnerText = "Hello"+Guid.NewGuid().ToString().Substring(0,5)+" World!!!!!";

//设置图片

XmlNodeList tileImageAttributes = tileXml.GetElementsByTagName("image");

((XmlElement)tileImageAttributes[0]).SetAttribute("src", "ms-appx:///images//1024.png");

((XmlElement)tileImageAttributes[0]).SetAttribute("alt", "red graphic");

//小瓷贴模版。

XmlDocument squareTileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareText04);

//设置文字

XmlNodeList squareTileTextAttributes = squareTileXml.GetElementsByTagName("text");

squareTileTextAttributes[0].AppendChild(squareTileXml.CreateTextNode("Hello " + Guid.NewGuid().ToString().Substring(0, 5) + " World。。。。"));

//绑定

IXmlNode node = tileXml.ImportNode(squareTileXml.GetElementsByTagName("binding").Item(0), true);

//插入

tileXml.GetElementsByTagName("visual").Item(0).AppendChild(node);

//指定应传递通知的时间

//Int16 dueTimeInHours = 3;

//DateTime dueTime = DateTime.Now.AddHours(dueTimeInHours);

DateTime dueTim1e = DateTime.Now.AddSeconds(10);

//创建计划的磁贴通知对象

ScheduledTileNotification scheduledTile = new ScheduledTileNotification(tileXml, dueTim1e);

//为计划的磁贴通知赋予 ID

scheduledTile.Id = "Future_Tile";

//向计划中添加磁贴通知。

TileUpdateManager.CreateTileUpdaterForApplication().AddToSchedule(scheduledTile);

磁贴通知队列

//设置选项以启用通知循环

TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);

//创建磁贴通知

TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImageAndText01);

XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareBlock);

// TODO: Fill in the template with your tile content.

// TODO: Define a square tile and add it to tileXML.

TileNotification tileNotification = new TileNotification(tileXml);

/*

* 启用队列时,最多可在磁贴上自动循环显示五个磁贴通知。

* 默认情况下,队列中通知的替换策略是先进先出 (FIFO);

* 当队列排满且到达新通知时,最早的通知将被删除。

* 请注意,通知显示顺序不遵守严格的线性模式。

* 用户可看到通知的顺序与其到达时的顺序并不相同。

*/

//授予通知标记

tileNotification.Tag = "stockMSFT";

//向磁贴发送通知

TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);

清除磁贴通知

Windows.UI.Notifications.TileUpdateManager.CreateTileUpdaterForApplication().Clear();

参考实例:http://code./windowsapps/app-tiles-and-badges-sample-5fc49148/

如果觉得《磁贴 磁贴通知》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。