2012-06-03 50 views
1

GeoCoordinateWatcher.PositionChaged事件如何在週期性任務內工作?如果我有一個每隔一小時運行一次的後臺代理。代碼是GeoCoordinateWatcher.PositionChaged事件如何在週期性任務內工作?

protected override void OnInvoke(ScheduledTask task) 
{ 
    GeoCoordinateWatcher watcher = new  
    GeoCoordinateWatcher(GeoPositionAccuracy.Default); 
    watcher.MovementThreshold = 100; 
    watcher.PositionChanged += _watcher_PositionChanged; 
    watcher.Start(); 
    } 

如果最初的設備是在現在的位置是A和設備1小時後,在一個小時內行駛了超過100米,那麼當onInvoke()被調用會_watcher_PositionChanged被解僱?

回答

3

號 下一次OnInvoke被調用時,你實例化一個新GeoCoordinateWatcher,它只會從這一刻起提高PositionChanged事件。它不知道它早在哪裏,它剛剛誕生。

您需要保存座標並在每次OnInvoke調用時引用它,並根據需要手動調用您的PositionChanged代碼。