Привет, ребята Я создал фоновое обслуживание, которое получает местоположение человека, и если расстояние между устройством до места назначения меньше, я чаще запрашиваю обновления местоположения, и я использую removeUpdates (LocationListener) метод ... проблема в том, что я заметил, что слушатель продолжает получать обновления, и чем больше цикл идет, тем больше он получает все больше обновлений. кто-нибудь знает, почему этот метод не работает?Android LocationManager.removeUpdates (LocationListener)
Вот мой метод использования нового местоположения.
void makeUseOfNewLocation(Location location){
manager.removeUpdates(listener);
mLocation = location;
currentLat = location.getLatitude();
currentLong = location.getLongitude();
Location.distanceBetween(currentLat, currentLong, gateLat, gateLong, results);
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
currentDistanceFromDestination = results[0];
Log.d("Current Location", "Lat:"+currentLat+" Long:"+currentLong);
Log.d("Destination Distance", currentDistanceFromDestination+"");
if(currentDistanceFromDestination<3000){
if(currentDistanceFromDestination<50){
Log.d("50m closer", "Calling");
startActivity(callIntent);
stopSelf();
}
if(currentDistanceFromDestination<800){
Log.d("800m closer", "Started listening every 10 seconds.");
Toast.makeText(getApplicationContext(),currentDistanceFromDestination+"", Toast.LENGTH_LONG).show();
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10 ,90 , listener);
}else{
Log.d("3000m closer", "Started listening every 25 seconds");
Toast.makeText(getApplicationContext(),currentDistanceFromDestination+"", Toast.LENGTH_LONG).show();
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 25 * 1000, 300, listener);
}
}
}
Возможно, он снова начнет прослушивать обновления, так как у вас есть 'manager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 25 * 1000, 300, прослушиватель);' –
hmmm ye, его предполагается слушать, и это так, но это не так удалите все обновления – NameNotFoundException
Вы можете отправить весь код? –