//选择模版
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.msdn.microsoft.com/windowsapps/app-tiles-and-badges-sample-5fc49148/
分享到:
相关推荐
Windows8退出清除动态磁贴过期通知.docx
Win8退出时清除动态磁贴过期通知.docx
组策略设置Win8退出时清除动态磁贴过期通知.docx
Windows 8退出系统时清除动态磁贴的过期通知.docx
组策略设置Win8退出时清除动态磁贴过期通知_1.docx
允许磁贴通知ActivityManager当前设置 adb shell pm grant de.stocard.keepactivitiestile android.permission.SET_ALWAYS_FINISH 屏幕截图 收合: 展开范围: 下载 从Android 7.0开始支持快速设置图块。 荣誉 ...
可追踪的磁贴通知 主要磁贴 API 磁贴和 Toast 通知的语言、比例和高对比度支持 杂项 通知可视化工具 通知传递方法 通知通道类型 使用 Webpush 和 VAPID 的备用通道 定期通知 输入和交互 概述 输入基础版 指针输入 ...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方...如有侵权,请举报或通知本人删除。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方...如有侵权,请举报或通知本人删除。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方...如有侵权,请举报或通知本人删除。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方...如有侵权,请举报或通知本人删除。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方...如有侵权,请举报或通知本人删除。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方...如有侵权,请举报或通知本人删除。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方...如有侵权,请举报或通知本人删除。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方...如有侵权,请举报或通知本人删除。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方...如有侵权,请举报或通知本人删除。
Rotation是Android控制设备...# 通过每个任务顶部提供的完全可定制的浮动头(或通知或磁贴)轻松更改前台应用程序或事件的方向。 各种设置可根据需要定制。 启动时启动 通知 通知切换 通知优先级 Toast 消息 振动等。
如何仅用几行代码即可实现实时磁贴通知
gank.io首个win10客户端,支持磁贴、通知、小娜……已发布到应用商店,欢迎下载。