FusedLocationClient не может удалитьLocationUpdates () после изменения ориентации экрана - PullRequest
0 голосов
/ 18 января 2019

Мое приложение использует сервисы 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, созданный при первом запуске операции, после изменения ориентации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...