2016-05-08 25 views
-1

を私は、場所の変更(デバイスの位置)のいずれかが少なくとも1メートル(約40インチ)であるとき、更新を取得するためOR少なくとも30分をLocationManager manager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);クラスのmanager.requestLocationUpdates("gps", 1800000, 1, new LocationDetector());メソッドを使用しています通過しました。しかし、デバイスの位置を1メートル(またはそれ以上)変更するとアップデートが受信されません。それでは、何が問題なのでしょうか?伝えてください。onLocationChanged(場所の場所)が動作していない - のAndroid

コード:

public class LocationDetector implements LocationListener { 
    @Override 
    public void onLocationChanged(Location location) { 
     Log.d("GPS: ",location.getLatitude()+", "+location.getLongitude()); 
    } 

答えて

0

それは、だ、ORではありません。

これらのパラメータを使用して位置を更新するには、距離を少なくとも1メートル変化させる必要があり、前回の更新から30分を経過する必要があります。

Android documentation:

minDistanceパラメータも 位置更新の頻度を制御するために使用することができます。値が0より大きい場合、ロケーションプロバイダ は、場所が が少なくともminDistanceメートルだけ変更され、少なくともminミリ秒が経過したときにのみアプリケーションに更新を送信します。

+0

ただし、デバイスの場所を変更することなく30分後にアップデートを受信して​​います。 –

+0

[ここにある](http://stackoverflow.com/questions/37094660/requestlocationupdates-method-is-giving-updates-without-change-in-location-a/37097663#37097663)と同様に、 GPS座標としての位置は、装置が完全に静止していても変動する可能性がある。 –

関連する問題