Лучшая практика для управления GoogleApiClient

У меня есть фоновая служба, которая работает в фоновом режиме отслеживания местоположения устройства с помощью PendingIntent,

Служба звонков mFusedLocationClient.requestLocationUpdates(mLocationRequest, locationRequest, pendingIntent), чтобы начать отслеживание местоположения, а также иногда обновлять отслеживание местоположения (изменить частоту обновлений).

Должен ли я хранить GoogleApiClient экземпляр в классе обслуживания или я должен подключаться к нему каждый раз, когда мне это нужно?

  • Я волнуюсь, если я сохраню это, разъединение может появиться. Это не должно быть проблемой в теории, потому что документация говорит GoogleApiClient автоматически пытается восстановить соединение

  • Если я подключусь каждый раз GoogleApiClient, это добавляет немного сложности в коде, потому что соединение сделано с connect() асинхронный

Исходя из вашего опыта, что вы считаете лучшим?

1 ответ

Вам следует позвонить googleApiClient.connect() в onStart() вашей деятельности и googleApiClient.disconnect() в onStop(), Вы можете реализовать GoogleApiClient.ConnectionCallbacks, который даст вам знать, если клиент успешно подключится через вызов public void onConnected(Bundle bundle) и тогда вы можете получить доступ к вашему API.

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