2

是否可以使用 Windows 7 手机以固定间隔执行任意代码?我尝试这样做,然后刷新我的应用程序的平铺图像。我需要执行任意代码,因为它执行更新磁贴所必需的计算。

4

2 回答 2

1

当应用程序未运行时,无法保证手机上应用程序中的代码以固定的时间间隔运行,因为应用程序无法在后台运行。

如果您想更新磁贴上显示的计数,您只能通过推送通知来执行此操作。

如果您想定期更新磁贴图像,您可以使用磁贴计划来执行此操作。这将告诉磁贴以指定的时间间隔刷新图像。这个想法是您将图像托管在服务器上并根据需要重新生成它以显示最新信息。

调度运行的最大频率是每小时一次。如果您比这更频繁地需要更新,那么您将不得不使用通知。

于 2010-11-19T18:20:54.890 回答
-1

您可以使用 Timer 类以固定的时间间隔执行代码。由于您要更新 UI 元素,我建议您使用 DispatcherTimer,因为它将在 UI 线程上执行,因此允许更新 UI 元素。此处描述:
DispatcherTimer (MSDN)

下面是一些关于如何使用 DispatcherTimer 的代码(取自 MSDN 文章):

dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();

如果您指的是起始页磁贴,即启动应用程序的磁贴 - 那么它有点棘手。您必须使用推送通知,这会增加一些更复杂的方面。这里有一个关于推送通知的培训课程:
WP7 Training Kit - Push Notifications

Yochay 也有一系列关于推送通知的好帖子:
Understanding Microsoft Push Notifications for Windows Phones

于 2010-11-19T17:00:50.953 回答