У меня есть следующий код:
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()
Пожалуйста помоги.
location
является объектом значения и не будет меняться с течением времени. Это фикс GPS на какой-то конкретный момент времени. Диспетчер местоположения будет вызывать onLocationChanged три раза с тремя разными значениями, если вы правильно указали критерии обновления. - person Eugen Martynov   schedule 19.12.2013