FusedLocationClient не может удалить LocationUpdates() после изменения ориентации экрана

Мое приложение использует сервисы Google Play и FusedLocationCLient для отслеживания используемого расстояния. Пользовательский интерфейс имеет единственную кнопку, которая начнет отслеживание, а при повторном нажатии остановит отслеживание. Если я начинаю трекинг, а затем ориентация экрана меняется, при повторном нажатии кнопки символ GPS все еще появляется в верхней части экрана.

Правильный метод все еще вызывается при нажатии кнопки, но, похоже, он не дает желаемого результата.

@Override
    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button1 = findViewById(R.id.button);
    button2 = findViewById(R.id.button2);
    textView = findViewById(R.id.textView);
    distanceTracker = new DistanceTracker(this, 10000, 5000, 10, 10);
    if (savedInstanceState != null)
    {
        isTracking = savedInstanceState.getBoolean("is_tracking");
        button1.setText(savedInstanceState.getString("button1_text"));
        textView.setText(savedInstanceState.getString("textView_text"));
    }
    else
    {
        isTracking = false;
    }
}

public void buttonClick(View view)
{
    if(isTracking)
    {
        distanceTracker.StopJourney();
        isTracking = false;
        button1.setText("Stopped Tracking");
    }
    else {
        distanceTracker.StartJourney();
        isTracking = true;
        button1.setText("Started Tracking");
    }
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    outState.putBoolean("is_tracking", isTracking);
    outState.putString("button1_text", button1.getText().toString());
    outState.putString("textView_text", textView.getText().toString());
    super.onSaveInstanceState(outState);
}

Похоже, что созданный distanceTracker выпадает из области видимости при изменении ориентации. Как сохранить ссылку на объект distanceTracker, созданный при первом запуске операции после изменения ориентации.

0 ответов

Другие вопросы по тегам