使用C#的Windows 8 Live Tile后台代理
作者:互联网
我试图在Windows 8上经常更新活动磁贴,即使应用本身未运行,也需要这样做. this MSDN page上列出的所有通知选项均不合适,我想轮询不适合列出的通知样式的系统信息,例如CPU temp等.
我在StackOverflow的其他地方查看过,也遇到过类似的问题,但对于Windows Phone 7 using background workers而言.使用后台工作程序似乎也是我的正确答案.但是,像上一个教程一样,教程侧重于Windows Phone 7,但情况有所不同,例如,Visual Studio 2012 Ultimate中的Windows应用商店模板没有计划任务代理的C#模板.
所以我的问题是,当应用程序本身不运行时,我们如何为Windows 8应用程序设置后台工作程序以执行实时磁贴更新?
解决方法:
您可以阅读有关后台任务here的内容;阅读有关TimeTrigger here的信息,并在操作后台任务的OnCompleted方法中设置LiveTile
void OnCompleted(BackgroundTaskRegistration sender, BackgroundTaskCompletedEventArgs args)
{
var tile = CreateNotification(String.Format(@"<tile>
<visual>
<binding template=""TileSquareText04"">
<text id=""1"">{0}</text>
<text id=""2""></text>
</binding>
<binding template=""TileSquareText02"">
<text id=""1"">{0}</text>
<text id=""2""></text>
</binding>
</visual>
</tile>", DateTime.Now.ToString("hh:mm:ss")));
TileUpdateManager.CreateTileUpdaterForApplication().Update(tile);
}
private TileNotification CreateNotification(string xml)
{
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(xml);
return new TileNotification(xmlDocument);
}
标签:windows-8,live-tile,c 来源: https://codeday.me/bug/20191031/1978924.html