Наличие трех разных скоростей из location.getSpeed()

У меня есть следующий код:

private LocationManager _locMgr;
public static String speed_1;
public static String speed_2;
public static String speed_3;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

_locMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
_locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 2, this);
}

public void onLocationChanged(Location location) {
speed_1 = String.valueOf(location.getSpeed());
Thread.sleep(1500);//delay
speed_2 = String.valueOf(location.getSpeed()));
Thread.sleep(1500);
speed_3 = String.valueOf(location.getSpeed()));

//then viewing the three different speeds
}

Проблема в том, что когда я просматриваю три скорости, я получаю их все одинаково, мне нужно получить 3 разные скорости в текущем вызове метода onLocationChanged()

Пожалуйста помоги.


person Izzo32    schedule 18.12.2013    source источник
comment
Пожалуйста, прочитайте эту ссылку. stackoverflow.com/questions/11685842/   -  person Prem    schedule 19.12.2013
comment
location является объектом значения и не будет меняться с течением времени. Это фикс GPS на какой-то конкретный момент времени. Диспетчер местоположения будет вызывать onLocationChanged три раза с тремя разными значениями, если вы правильно указали критерии обновления.   -  person Eugen Martynov    schedule 19.12.2013
comment
@prem спасибо, полезная ссылка.   -  person Izzo32    schedule 19.12.2013
comment
@EugenMartynov, так что я думаю, мне нужно сделать следующее: чтобы получить скорости при разных вызовах onLocationChanged, когда закончит, он вернет разные скорости.   -  person Izzo32    schedule 19.12.2013