3

私は常に、デバイスの場所をすぐに見つけるための良い方法を見つけるのに苦労しました. 私がやりたいことは、アプリの使用ごとに 1 回 (たとえば、アクティビティの onCreate が呼び出されたとき)、その正確な瞬間のデバイスの座標を知りたいのですが、二度とそれらを要求することはありません。私が最善の方法だと思うのは、次のような関数を持つ静的クラスのようなものを持つことです:

coordinates getCoordinates();

アドバイス/スニペットはありますか?

4

2 に答える 2

6

LocationManager.getLastKnownLocationまたはを使用しLocationManager.requestSingleUpdateます。

最初のものはすぐに返されますが、場所がまだ利用できない場合は nullを返すことがあります。

2 つ目はコールバックでデータを返しますが、必要なプロバイダーが何であれ起動し、(可能であれば) 適切な場所を取得します。

于 2013-01-21T08:55:25.187 に答える
2

この回答で、私が本当に探していたものを見つけました。

コントロールを 2 つだけ追加しました。私はチェックします:

  • gps_loc.getTime() (または net_loc.getTime()) が System.currentTimeMillis() - 300000 (5 分前) より大きい。内部クラス GetLastLocation; のメソッド run() 内。
  • location.getAccuracy() < 100。両方の LocationListeners (ネットワークと GPS) の onLocationChanged() メソッド内。

それが役に立てば幸い!

于 2013-01-29T16:08:28.677 に答える