0

ScheduledAgent の Geolocator は常に古い値の位置を示します: var position = await geolocator.GetGeopositionAsync(); この位置は常に同じになります。同様の質問でした - ScheduledAgent と GeoCoordinateWatcher - どうすればそれらを機能させることができますか? しかし、それは古すぎるので、いくつかの変更があるかもしれません。

4

1 に答える 1

1

このhttp://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202962(v=vs.105).aspx#BKMK_NoteworthyAPIsforUsewithScheduledTasksによると

GeoCoordinateWatcher:

デバイスの地理座標を取得するために使用されるこの API は、バックグラウンド エージェントでの使用がサポートされていますが、リアルタイム データの代わりにキャッシュされた位置値を使用します。キャッシュされた場所の値は、デバイスによって 15 分ごとに更新されます。

Geolocator も同じ API を使用していると思います。テストアプリを開始しましたが、15分間同じ場所を返し、その後新しい場所を返しました(スケジュールされたエージェントによって最初の場所追跡が行われた直後に設定しました)。

テストのために、私はこのコードを使用していました:

#if DEBUG_AGENT
            ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(30));
#endif

スケジュールされたエージェントには 30 分間隔があります。そのため、このコードをテスト用に使用しなくても、位置追跡の動作は正常になります。

于 2013-07-25T10:45:32.560 に答える