2011-10-26 12 views
1

GPSを有効にすると、GPSが準備完了するまでに時間がかかります。したがって、このコードを使用すると、期限切れの場所が取得される可能性があります。 location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 期限の切れた場所は使用できません。どのように私は必要な場所を得ることができますか?それから Android: getLastKnownLocation out-of-date - how to force location refresh?古くなっていない場所を取得するには?

、私はない時代遅れにする必要があります更新された位置を取得するためにLocationListenerを使用することができます。

はここで同様の質問です。あたりです。しかし、私はこのケースをどのように処理できますか:

私はすでにGPSを有効にしてから、私のアプリを起動します。私が1つの場所に留まり、移動しないと、onLocationChanged()は呼び出されません。だから私はこのメソッドを使用して、getLastKnownLocation()の戻り値が期限切れではないかどうかを判断することはできません。

アイデア?

答えて

1

旧式ではない場所を取得するにはどうすればよいですか?

あなたはonLocationChanged()内のすべてのLocationのために、あなたはgetAccuracy()を呼び出し、1000のミリ秒のMINTIMEでrequestLocationUpdates()を呼び出します。精度が満足できる場合は、removeUpdates()に電話してください。

は、だから私はgetLastKnownLocation()の戻り値は古く

ではありません、私はそれがtime stampが含まれて返すことLocationオブジェクトを考えるかどうかを判断するために、このメソッドを使用することはできません。現在と場所の時間差の許容値を設定することができますgetTime()

+0

タイムスタンプを試してみます。 – flypen

1

Locationオブジェクトには修正の時刻が返されますgetTime()メソッドがあります。あなたはそれを使って修正がどれほど古いかを判断できます。

+0

これはタイムスタンプにとって非常に役立つようです。ありがとう。 – flypen

関連する問題