我正在开发一个Windows Phone应用程序,其中应用程序可以选择将应用程序固定到主屏幕。我正在使用ShellTileSchedule类来定期安排更新。我的应用程序没有推动任何更新到tile的一些原因。我的应用数据完全是本地的,没有数据来自外部。
在我的磁贴更新中,我没有更新lile上的任何图像,只是更改要显示的数据。
foreach (ShellTile tile in ShellTile.ActiveTiles)
{
IconicTileData tileData = GetTileData();
tileSchedule = new ShellTileSchedule(tile, tileData);
tileSchedule.Interval = UpdateInterval.EveryHour;
tileSchedule.Recurrence = UpdateRecurrence.Interval;
tileSchedule.Count=GetUserData();
tileSchedule.StartTime = DateTime.Now;
tileSchedule.Start();
tile.Update(tileData);
}
在这方面有任何帮助吗?或者我需要后台代理来更新磁贴吗?
答案 0 :(得分:6)
ShellTileSchedule只能从网络上提取图像,而不能从手机本身提取图像。这是ShellTileSchedule的限制之一。如果要将背景图像设置为手机上的资源,请查看使用推送通知。
答案 1 :(得分:1)
你不应该在某处设置ShellTileSchedule.RemoteImageUri吗?我的意思是,这有点像ShellTileSchedule那样,用于定期更新远程Uri的平铺图像...请参阅如何将此类用于辅助平铺here的示例。
答案 2 :(得分:0)
您必须填写IconicTileData的属性。在您的示例中,您只需创建空数据结构并将其用于计划,这将无效。我这样用它:
IconicTileData newTileData = new IconicTileData
{
Title = SharedResources.AppName,
Count = BatteryHelper.BateryLevel,
SmallIconImage = new Uri(@"/Assets/IconicSmall.png", UriKind.Relative),
IconImage = new Uri(@"/Assets/IconicMedium.png", UriKind.Relative),
};