私は、Smart Location Libraryを使用して定期的な位置更新を取得しようとしています。しかし、プロセスを開始すると、それは一度リスナーを起動すると、更なる更新はありません。ここでコードが私はこれがLogcat出力であるスマートロケーションライブラリを使用する際の問題
public void startTracking(View v) {
provider = new LocationGooglePlayServicesWithFallbackProvider(this);
Log.i("Tag","Start Tracking");
SmartLocation smartLocation = new SmartLocation.Builder(this)
.logging(true)
.build();
smartLocation.location(provider)
.config(LocationParams.BEST_EFFORT)
.start(this);
smartLocation.activity().start(this);
}
public void stopTracking(View v) {
Log.i("Tag","Stop Tracking");
SmartLocation.with(this).location().stop();
SmartLocation.with(this).activity().stop();
}
@Override
public void onActivityUpdated(DetectedActivity detectedActivity)
{
Log.i("Tag","ActivityUpdate : "+detectedActivity.toString());
}
@Override
public void onLocationUpdated(Location location)
{
Log.i("Tag","LocationUpdate : "+location.getLatitude()+","+location.getLongitude());
}
を使用している私は、これは、すぐに私は、これ以上の値、スタートボタンを押さないように与えられる
01-27 14:09:01.791 3038-3038/com.angulusits.smartlocationtest I/Tag:
Start Tracking
01-27 14:09:01.879 3038-3038/com.angulusits.smartlocationtest I/Tag:
ActivityUpdate : DetectedActivity [type=STILL, confidence=100]
01-27 14:09:02.017 3038-3038/com.angulusits.smartlocationtest I/Tag:
LocationUpdate : <some-value>,<some-value>
を得ました。
私はあるBEST_EFFORT値のためのライブラリでコードを確認:
public static final LocationParams BEST_EFFORT = new Builder().setAccuracy(LocationAccuracy.MEDIUM).setDistance(150).setInterval(2500).build();
だから私は、デバイスが動いていない場合でも、更新ごとに2500 millisecsを期待。 誰かが私を正しい方向に向けることができたら、私は感謝します。
私も同じ問題に直面しています。 onLocationUpdatedは、私が開始したときに一度呼び出すが、その後は更新がない。お返事ありがとうございます – kiruba