定时器不工作
本文关键字:工作 定时器 | 更新日期: 2023-09-27 18:14:50
我想每10秒运行一次GetCurrentLocation()
方法,但是在加载页面时只捕获一次位置。我怎样才能改正呢?以下是WP代码:
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
Callback(true);
}
private static Timer timer;
private void Main()
{
timer = new Timer(Callback, null, 10000, Timeout.Infinite);
}
private void Callback(Object state)
{
GetCurrentLocation();
}
Main方法永远不会被调用。
你只在加载页面时直接调用Callback,所以计时器永远不会启动。
在加载的处理程序中调用Main。
还将TimeOut.Infinite
更改为实际数字。此参数设置计时器的刻度之间的时间,而不是它将运行多长时间!
还:将定时器private
改为private static
;在我看来,没有什么好理由把它变成静态的:
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
StartTimer();
}
private Timer timer;
private void StartTimer()
{
// start now and repeat every 10 seconds
timer = new Timer(TimerCallback, null, 0, 10000);
}
private void TimerCallback(Object state)
{
GetCurrentLocation();
}