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