В моем приложении есть заголовок и несколько дочерних действий, в том числе преимущественно экран Google Maps.
Я недавно добавил опцию для пользователя приложения, чтобы выбрать центрирование карты на месте расположения пользователей (используя устройства droid GPS или аналогичные).
Проблема в том, что после того, как это было выбрано, а затем не выбрано, оно все еще центрируется в правильном местоположении, а затем в течение нескольких секунд меняет свое физическое местоположение.
Любые идеи, как я могу предотвратить это?
@Override
public void onCreate(Bundle savedInstanceState) {
...
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60L, (float) 100.0, onLocationChange);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 60L, (float) 100.0, onLocationChange);
provider = locationManager.getBestProvider(criteria, false);
location = locationManager.getLastKnownLocation(provider);
settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
location = locationManager.getLastKnownLocation(provider);
}
public void onStop() {
super.onStop();
locationManager.removeUpdates(onLocationChange);
if (timer != null) {
timer.cancel();
}
}
@Override
public void onRestart() {
super.onRestart();
settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
...
location = locationManager.getLastKnownLocation(provider);
}