Лучшая практика для управления 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.