WP7マンゴーでは、バックグラウンドエージェントから新しい場所を取得することはできません。次のコードは、入手可能な最新の場所(最大15分旧)が返されます:あなたが見ることができるように
private GeoPosition<GeoCoordinate> GetCachedLocation()
{
GeoCoordinateWatcher geoWatcher;
geoWatcher = new GeoCoordinateWatcher(); //Start a new watcher with default level of accuracy
geoWatcher.Start();
//Get latest cached position
GeoPosition<GeoCoordinate> position = geoWatcher.Position;
geoWatcher.Stop();
return position;
}
を、これはGeoCoordinateWatcherを使用しています。 MSDN(http://msdn.microsoft.com/en-us/library/hh202962(v=vs.92).aspx)によると:
このAPIは、デバイスの地理座標を取得するために使用されます、 はバックグラウンドエージェントでの使用がサポートされていますが、リアルタイムデータの代わりにキャッシュされた の位置値を使用します。キャッシングされた場所の値は、15分ごとにデバイスによって更新される です。
これ以外にも、私は多くの情報を見つけることができませんでした。自己定義の精度でGeoCoordinateWatcherを作成することはできますが、これはテストしていません。おそらく、それは、精度要件を満たす最新の利用可能なキャッシュされた場所を返すでしょう。
少し詳しく説明できますか? GPSがポーリングされたら、コードを実行することはできますか、アプリが表示されるまではストレージに移動できますか?私はすぐにそれらのGPS位置をサーバーに送る必要があります。可能? – katit
可能ですが、バックグラウンドタスクについて知ることができます。ただし、電話機がユーザーエクスペリエンスを維持するためには、厳しい条件(処理能力がほとんどなく、時間が短い)で強制的に操作する必要があります。 –
アダムありがとう。私はこれが8ヶ月前にAndroidアプリを書いたときに可能だったと思う。 30分はまだ私の特別な必要性のためにあまりにも多いです。小さなスパンをシミュレートする方法はありますか?おそらく、異なる時間に実行される複数のタスクを持つでしょうか? – katit