LocationManager.requestLocationUpdates();
メソッドを使用します。更新を送信する必要がある最小時間を秒単位で指定し、更新前の最小メーター数を指定できます。
次のようになります。
//ミリ秒単位
privatefinalint MINIMUM_TIME_BETWEEN_UPDATES = 5000;
//メートル単位
privatefinalint MINIMUM_DISTANCE_BETWEEN_UPDATES = 1;
LocationManager lManager =(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
LocationListener = listener = new LocationListener() {
public void onStatusChanged(String provider, int status, Bundle extras) {
}
public void onProviderEnabled(String provider) {
}
public void onProviderDisabled(String provider) {
}
public void onLocationChanged(Location location) {
}
};
lManager.requestLocationUpdates(bestProvider, MINIMUM_TIME_BETWEEN_UPDATES, MINIMUM_DISTANCE_BETWEEN_UPDATES, listener);
これによりLocationManager
、指定されたロケーションプロバイダー(GPSまたはネットワーク)、指定された秒数、および指定されたメートル数でが作成されます。locationmanagerは、更新を`LocationListenerに送信します。onLocationChangedは、更新が受信されるたびに呼び出されます。bestProvider変数は、LocationManager.getBestProvider();を使用して見つけることができます。およびCriteriaクラス。