services play guides googleapis googleapiclient google gms example developers dependency auth android google-play-services google-api-client

android - guides - play googleapis



GoogleApiClient onConnectionSuspended, ¿debería llamar a mGoogleApiClient.connect() nuevamente? (2)

Estoy usando GoogleApiClient en un servicio para solicitar actualizaciones de ubicaciones fusionadas. Todo funciona correctamente, pero a veces la conexión se suspende y se llama onConnectionSuspended.

@Override public void onCreate() { ... mGoogleApiClient = new GoogleApiClient.Builder(this) // this is a Context .addApi(LocationServices.API) .addConnectionCallbacks(this) // this is a [GoogleApiClient.ConnectionCallbacks][1] .addOnConnectionFailedListener(this) // .build(); mGoogleApiClient.connect(); ... } @Override public void onConnectionSuspended(int arg0) { // what should i do here ? should i call mGoogleApiClient.connect() again ? ? }

En el enlace anterior (ConnectionCallback doc) dice:

Las aplicaciones deben deshabilitar los componentes de UI que requieren el servicio y esperar una llamada a onConnected (Bundle) para volver a habilitarlos.

¿Pero cómo sucederá esta llamada a onConnected? ¿Debo llamar a mGoogleApiClient.connect () de nuevo? ¿O el mGoogleApiClient continuará intentando conectarse incluso después de una suspensión de conexión?


GoogleApiClient intentará volver a conectarse automáticamente. No necesita llamar a connect() nuevo.


El documento onConnected() dice lo siguiente:

Después de llamar a connect (), este método se invocará de forma asíncrona cuando la solicitud de conexión se haya completado correctamente.

Esto implica que debe llamar a connect() contrario no se llamará a onConnected() .