我正試圖在BackgroundWorker中獲取GPS位置。我讀到,數據是從緩存中獲取的,這些緩存每15分鐘更新一次。是否有可能重新計劃緩存的更新間隔? 現在我正在使用模擬器,並且我始終在事件StatusChanged中獲取NoData。更改緩存中的更新間隔以更新GPS - Windows Phone 7.5
好的,你能解釋一下我的模擬器嗎? 這裏是我的代碼:
private GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
private void StartGeoWatcher()
{
watcher.StatusChanged += GeoWatcherStatusChanged;
watcher.PositionChanged += GeoWatcherPositionChanged;
watcher.Start();
}
void GeoWatcherPositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
}
void GeoWatcherStatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
{
switch (e.Status)
{
case GeoPositionStatus.Initializing:
break;
case GeoPositionStatus.Ready:
break;
case GeoPositionStatus.NoData:
break;
case GeoPositionStatus.Disabled:
break;
}
}
我在我的應用程序啓動模擬器。之後,我選擇其他工具中的某個位置。當選擇位置時,點擊應用程序中的按鈕,週期性任務將運行。 首先:StatusChanged被稱爲狀態「初始化」。第二:StatusChanged被稱爲狀態「NoData」。我不知道爲什麼,因爲我在其他工具中選擇了位置。
答案是 - 不,它不是。 – MarcinJuraszek 2013-03-05 19:43:15
所以我認爲,我找到了解決方案。首先,我必須在mainapplication中創建GeoCoordinateWatcher並調用Start()。它獲得了位置。之後,我可以在BackgroundAgent中使用GeoCoordinateWatcher,而無需獲取NoData。 – JuP 2013-03-05 21:55:34
等等,你忘了給你的守望者打電話Start()了? – 2013-03-06 06:53:24