BackgroundWorker で GPS 位置を取得しようとしています。データはキャッシュから取得され、これらのキャッシュは 15 分ごとに更新されることを読みました。キャッシュの更新間隔を再スケジュールすることはできますか? 現在、エミュレーターを使用していますが、イベント StatusChanged で常に NoData を取得します。
わかりました、エミュレータでどのように動作するか説明していただけますか? これが私のコードです:
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 は、ステータス「初期化中」で呼び出されます。2 番目: StatusChanged は、ステータス「NoData」で呼び出されます。追加のツールで場所を選択したため、理由はわかりません。