Я хочу получать обновления местоположения каждую секунду в течение небольшого периода времени, поэтому я написал этот код:
public void registerListener() {
if (ActivityCompat.checkSelfPermission(c, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(c, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
} else {
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10, locationListener);
}
}
private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
longitude = location.getLongitude();
latitude = location.getLatitude();
Log.v(TAG, ""+longitude + " " +latitude);
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {}
@Override
public void onProviderEnabled(String provider) {}
@Override
public void onProviderDisabled(String provider) {}
};
Я вызываю registerListener()
из другого места. Проблема в том, что мое обновление местоположения вызывается только один раз, и я получаю этот журнал только один раз. Кроме того, журнал появляется примерно через 5-10 секунд после, вызывающего registerListener
.
В чем причина медленности и почему обновление не обновляется?
Спасибо,
Ruchir